DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridBoolColumn

  • 題名: DataGridBoolColumn
  • 著者: k
  • 日時: 2005/09/12 21:56:04
  • ID: 12737
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[C#]
分類:[.NET]

お世話になっております。
datagridにcheckboxを表示させているのですが、通常だとまず一回目のクリックでフォーカスを当てて、二回目のクリックでTrueとFlaseが入れ替わりますが、一回のクリックで変わるようにしたいです。
DataGridBoolColumnをいじればいいかなと思い、イベントを見てみましたがいまいちつかえそうなのがありませんでした。

DataGridBoolColumnをいじるのではなく、datagridのイベントでhittestinfoとかをつかってやるべきなんでしょうか。
よろしくお願いします(__)
ま、この手のフォーカス操作はいろいろとうまくいかないことがわかってます。
完全な制御は無理かな
■No12738に返信(中博俊さんの記事)
> ま、この手のフォーカス操作はいろいろとうまくいかないことがわかってます。
> 完全な制御は無理かな

なので、DataGrid 内の配置は諦めて、仮想的に上に載せたことがあります。
とりあえずWindows Forms FAQにその回答がありますが、HitTestを使っています。

5.80 How can I get a CheckBox column in a DataGrid to react to the first click?
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx#q874q

DataGridBoolColumnを継承したクラスにこの処理を埋め込むこともできなくはないでしょう。このときは、次のようになります。

DOBON.NET .NET Tips - DataGridにLinkLabelを表示する
http://dobon.net/vb/dotnet/datagrid/datagridlinklabel.html

#じゃんぬねっとさんの「仮想的に上にのせる」方法とは、どのような方法なのでしょうか?よろしければ教えていただけませんか?
ありがとうございます。
とりあえず、管理人さんに紹介して頂いた方法を試してみたいと思います。
HitTestを使わない方法があれば、私もぜひ知りたいです。じゃんぬねっとさんのおっしゃる「仮想的に上にのせる」方法というのがどのような方法なのか非常に気になるのですが。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板