問題タブ [designer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 質問 C# の VS IDE デザイナーを無効化/更新するにはどうすればよいですか?
Propという名前のブール値プロパティを実装するFormからCustomFormを継承しています。使用するフォームはCustomFormから継承します。このプロパティは、フォームにいくつかの描画と変更 (有効な場合) を行います。ただし、これは正常に機能していません。設計された VS IDE は、変更を表示するために更新されていません。しかし、Ctrl+Shift+B (メニュー: ビルド » ソリューションのビルド) を押すと、VS IDE が更新され、フォーム デザイナーが一瞬消えて、新しい変更が適用されて再描画されます。
では、ソリューションをビルドするときと同じように、コードによって VS IDE デザイナーを強制的に更新する方法はありますか? もしそうなら、私はそのコードをPropセットアクセサーに追加することができ、私の問題はなくなりました.
Invalidate()、Refresh()、および Update を呼び出そうとしたことに注意してください。しかし、それらのどれも問題を解決していないようでした...
これが私の本当の問題に関する少しの洞察です。私のコードは次のようになります。
そして、私が抱えている問題は次のようなものです: http://blogs.msdn.com/calvin_hsia/archive/2007/05/01/windows-vista-aero-borderstyle-paint-problem-as-non-administrator. aspx
私の場合、EnableSkin を True に設定し、それを False に戻してから FormBorderStyle を変更すると、上記のリンクで確認できる問題が発生します。記事で述べたように、VS を管理者として実行している場合、問題は発生しません。
そのため、VS IDE デザイナーを更新する方法を探しています。つまり、その記事を見つけたので、ソリューションを再構築するときと同じように、ウィンドウを再作成する必要があります。
基本フォームでプロパティを宣言するにはどうすればよいですか?
私は現在持っています:
そして、フォーム内ではなく、そのクラス内でのみプロパティを宣言できます...最初の投稿で述べたように、Invalidate() も使用しましたが、問題は解決しません。
c# - デザイナーが値を設定する順序を設定するにはどうすればよいですか?
開始時刻、現在時刻、および終了時刻の値を持つカスタム コントロールを作成しました。現在の時刻は、開始時刻と終了時刻の間にある必要があります。そうでない場合、例外がスローされます。
デザイナーで、新しい開始時刻、現在時刻、および終了時刻を設定したいと考えています。新しい現在時刻は、新しい開始と終了には有効ですが、デフォルトの開始と終了には有効ではありません。ただし、デザイナーは最初に現在の時刻を設定するため、例外がスローされ、デザイナーはデザイナーの例外メッセージに置き換えられます。
現在の時刻を設定する前に開始時刻と終了時刻を設定するようデザイナーに指示するにはどうすればよいですか?
wpf - WPF デザイナ エラー「型 {0} はダイレクト コンテンツをサポートしていません」を解決するにはどうすればよいですか?
次の XAML (下記) は、リソースでカスタム コレクションを定義し、カスタム オブジェクトを設定しようとします。
問題は、デザイナーで「型 'MyCustomCollection' は直接コンテンツをサポートしていません」というエラーが発生することです。MSDN でアドバイスされているように ContentProperty を設定しようとしましたが、何に設定すればよいかわかりません。私が使用するカスタム コレクション オブジェクトは次のとおりで、非常に単純です。Item、Items、および MyCustomItem を試しましたが、他に何を試せばよいかわかりません。
私がどこで間違っているのかについての手がかりは、ありがたく受け取ります。また、実行時にどのプロパティが公開されているかを確認するために WPF オブジェクト モデルを掘り下げる方法についてのヒントもあります。
よろしく
ライアン
wpf - WPF デザイナーには、オーバーライドされたプロパティを持つ汎用コントロールの解析に関するバグがあります
仮想プロパティを持つ一般的なルックレス コントロールを作成しました。
次に、それから派生したコントロールを作成し、Value プロパティをオーバーライドしました。
したがって、ウィンドウ XAML で使用します。
デザイナーでウィンドウを開くとすべて問題ありませんが、マウスカーソルをこの行またはデザイナーのこのコントロールに置くと、例外が発生します。
誰がこの問題を知っていますか? 説明してください:) WPFデザイナーがジェネリックを好まないことを除いて、私には考えがありません。Object
ジェネリックをすべて置き換えればOKです。
.net - Visual Studio デザイナーでの折りたたみ可能なメンバー イベント
Visual Studio イベント グリッドにコントロール メンバーのイベントを表示するにはどうすればよいですか? Visual Studio は、"(DataBindings)" メンバーなどの特定のものに対して、次のように折りたたみ可能なセクションに配置することでこれを行います。
イベントは通常フォームで処理され、手動でハンドラーを作成する必要があるため、私は自分のコンポーネントのいくつかに対してこれを行いたいと考えています。
winforms - Windows フォームのデザイン時エラー
Visual Studio 2008 を使用していますが、フォームを開こうとすると次のエラー メッセージが表示されます。
ServiceModel クライアント構成セクションで、名前が 'WSHttpBinding_ICommon' でコントラクトが 'CommonWCF.ICommon' のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、この名前に一致するエンドポイント要素が client 要素に見つからなかったためである可能性があります。
そして、次のスタックトレース
System.ComponentModel.ReflectPropertyDescriptor.SetValue (オブジェクト コンポーネント、オブジェクト値) で System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement (IDesignerSerializationManager マネージャー、CodeAssignStatement ステートメント、CodePropertyReferenceExpression propertyReferenceEx、ブール値の reportError) System.ComponentModel.Design.Serialization.CodeDomSerializerBase で.DeserializeAssignStatement (IDesignerSerializationManager マネージャー、CodeAssignStatement ステートメント) で System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement (IDesignerSerializationManager マネージャー、CodeStatement ステートメント)
それでも、 App.Config で提案された要素があり、実行時にすべてが機能します。ただし、フォームを開こうとするたびにこのメッセージが表示されます。これは無視できるのでそれほど悪くはありませんが、多くのコントロール (右側および/または下部にアンカーがあるもの) を実行すると、シフトされ、私のグリッドは、以前に削除した (列) データソースからすべての列を自動的に取り戻します。
提案/回避策はありますか? これは Visual Studio 2008 のバグですか?
winforms - フォームを開いたときに Visual Studio デザイナーがコントロールを移動し、グリッド列を追加する
特定のフォームを初めて開こうとすると、多くのコントロール (右側や下部にアンカーがあるもの) が移動し、グリッドは以前に削除した (列) データソースからすべての列を自動的に取り戻します。 .
InitializeComponent メソッドの後に、「適切な」デザイナー コードをコンストラクターにコピーすることをお勧めします。これは長期的には良い解決策ではないようです。たとえば、ユーザーが将来設計を変更した場合はどうなるでしょうか?
提案/回避策はありますか? これは Visual Studio 2008 のバグですか?
c# - デザイナーフレンドリーなプリバウンドデータソースを使用して派生ComboBoxを作成するにはどうすればよいですか?
データベースから取得したオブジェクトのリストにバインドされたSystem.Windows.Forms.ComboBoxから派生コントロールを作成したいと思います。他の開発者は、必要がない限り、データソースやバインディングについて心配することなく、このコントロールをフォームにドロップすることができます。
コンボボックスを拡張してから、コンストラクターでDataSource、DisplayMember、およびValueMemberを設定しようとしました。
実行すると機能しますが、フォームに追加するとVisualStudioで多くのエラーが発生します。私が得るエラーは次のとおりです。
「プロパティ'Items'のコード生成に失敗しました。エラーは次のとおりです:'オブジェクト参照がオブジェクトのインスタンスに設定されていません」
これを実現する正しい方法は何ですか(C#、Winforms、.NET 2.0以降)?
winforms - Visual Studio 2008 の WinForms ツールボックスからカスタム .net コントロールをフィルタリングするためのオプションは何ですか?
Visual Studio 2008 では、コントロールを検出してプロジェクトからツールボックスに追加し、フォーム デザイナで使用できるようになりました。UserControl 派生型または DataSet 派生型のアセンブリがある場合は、そのコントロールが自動的に検出され、フォームをデザインするためのツールボックスに追加されます。これは、2005 年に手動でコントロールを追加し、時々それらを忘れていた古いシステムよりもわずかに優れています。
However, on the legacy, monolithic project I am working on (now upgraded to vs2008) this means many controls that I don't want and don't need (and a redesign would not be warranted against so much legacy code :( ). I imagine that if I made certain types internal or private, then they wouldn't show up. However, I need many of those to remain public, but not show up in the toolbox. Furthermore, with so many controls getting added to the toolbox, opening the winforms designer slows significantly.
- Is there an attribute or other mechanism that prevents toolbox appearance (that wouldn't otherwise affect functionality) ?
- Would filtering using such a mechanism improve performance while still autodetecting new types that SHOULD be in the toolbox? (I know you can disable the autodetect, but its nice to have in many cases)
- Have others encountered this irritation on large solutions (with many csproj/vbproj files)?
Edit: Thanks everyone! I knew it had to be simple (and was likely an attribute) but that fills the gap. Nice to know that I was in good company in not knowing about ToolBoxItem(false).