カスタム コントロールの使用は初めてです。
ウルトラグリッドを継承した winform アプリケーションでカスタム コントロールを作成しました。ここにコードを貼り付けることはできませんが、以下で説明します。
ウルトラグリッドの外観と動作を変更するコマンドの前に、OnPaint メソッドで
CellClickAction
やなどのプロパティをいくつか設定しました。HeaderClickAction
base.OnPaint(pe);
Mouse Up イベントで使用する必要がある 3 つの項目 (Ascending、Descending、None) を持つ ContextMenuStrip コントロールを追加しました。
クリックされたヘッダーのキャプションを検索し (ユーザーがヘッダーをクリックした場合)、チェックによる 3 通りの並べ替えを実行し、クリックされた列の SortIndicator プロパティを変更する (左マウスの場合) ウルトラグリッドの Mouse Up イベントのイベント ハンドラーを作成しました。ボタンがクリックされた場合) またはその列に ContextMenuStrip が表示されます (マウスの右ボタンがクリックされた場合)。
クリックされた項目に基づいてグリッドを並べ替える ContextMenuStrip の Item Clicked イベントのイベント ハンドラーを作成しました。
今問題は、フォームでグリッドを使用したいときです。すべての動作が遅く、時にはビジュアルスタジオがロックされるか、たとえば、MessageBox.Show("");
クリックされたイベントハンドラーのコマンドを使用してフォームにボタンを追加して実行し、クリックした場合このボタンでフォームをロックします。
誰かが私の間違いを教えてもらえますか? 私の質問についてお気軽にお尋ねください。