- 締切済み
C# リストビューの特定のセルの特定文字色を変更
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.2
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.1
オーナードローでちまちま描画していくしかないんじゃないですかね。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.listview.drawsubitem%28v=vs.110%29.aspx 引数で渡されるDrawListViewSubItemEventArgs型からある程度の情報は得られます。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.drawlistviewsubitemeventargs%28v=vs.110%29.aspx ColumnIndexプロパティで列の位置が、SubItemプロパティ経由でTextプロパティで描画すべき文字列が。 Graphicsプロパティ経由のMeasureStringメソッドで描画する場合のサイズが。 # "INT"でサイズ計算すれば、続きの"EGER"の描画開始座標が算出可能でしょう。 # ただし…ベースラインがズレるかも知れませんけど。 # ベースラインとはなんぞや?という場合は「フォント ベースライン」辺りで検索してください。 文字列の描画はGraphicsプロパティ経由のDrawStringメソッドで。 通常描画をOSに任せる場合はDrawDefaultプロバティを設定してそのままreturnしてしまえばOKでしょう。 面倒なのは…フォーカスが当たっているとき、選択されている時などの状態の時ですかね。
お礼
う~ん、ちょっとその方法ですと、色々問題が発生しそうです。。 やはり難しいことしなきゃいけないみたいですね…。 また違うやり方を考えてみたいと思います。 ありがとうございました。