- - PR -
[VS.NET2005][C#]DataGridViewに表示されるエラーアイコンを変更したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-25 14:02
【環境】
OS:WindowsXPPro VS:VS.NET2005 言語:C# AP:Windowsアプリ 訳あって、DataGridViewCell.ErrTextに値を設定した際に表示されるエラーアイコン(Win32:IDI_ERROR)を感嘆符アイコン(Win32:IDI_EXCLAMATION)に変更しようと考えています。 色々調べて @DataGridViewCellのプロテクトメソッド「PaintErrorIcon」は、ヘルプによると「現在の DataGridViewCell のエラー アイコンを描画」するらしい Aエラーアイコンイメージは、DataGridViewCellのパブリックでないメンバ「ErrorBitmap」に格納されているらしい という事までは突き止めたのですが・・・ @は、DataGridViewCellを継承したクラスで「PaintErrorIcon」をoverrideし、ブレークポイントを貼ってみたのですが、このメソッドが呼ばれている様子が無く、そもそもこのメソッド内でどのようにすればアイコンを変えられるかが判らず・・・ Aは、「ErrorBitmap」のPropertyInfoを調べたところCanWriteがfalseに設定されていて書き換えはできないらしい・・・ と、手詰まりになってしまいました。 同様の悩みにぶつかった事のある方で、解決できた方は居ませんでしょうか? 居りましたら、是非解決方法をご教授願えないでしょうか? | ||||
|
投稿日時: 2007-01-25 16:36
こんにちは。
以前やった仕事でそういった実装をしたことがあります。結局お蔵入りになってしまいまし たが。 # しかも正確には実装をしたのは私ではなく別の担当者ですけど そのときのソースをひっぱりだして見てみたところ、 DataGridView(TextBox|CheckBox)Column を継承したクラスを作成し、そのクラ スの Paint() メソッドをオーバーライドしているようです。 オーバーライドしたメソッドでは base.Paint() を呼び出して通常の描画を行わせたあと で自分でエラーアイコンを描いていました。 (場所は微調整する必要はあるかもしれませんが) こんな感じで役に立つでしょうか。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||
|
投稿日時: 2007-01-25 19:45
ぽぴ王子さん、こんにちは。
Paintメソッドをoverrideして出来ました!!
いまのところ、ちょっとアイコンが歪んで見えるかな?・・・っという以外は問題なくどうさしてます。 @は、時と場合によってアイコンを、エラーと警告とに使い分けするところを組み込めれば、期待通りのものができそうです。 ぽぴ王子さん、本当に有難う御座います(^^) |
1