C#のリストビューの特定のセルの中の特定の文字の色を変えたいと思っています。
例えばリストビューの4行目の2列目の中に「INTEGER」という文字列が入れこまれていたら、「EGER」の色だけ赤く変えるということをやりたいのです。
リストビュー全体の文字色、あるいはリストビューの中の特定のセルの文字色を変えるやり方は色々ありましたが、さらにその中の特定の文字だけの色を変えるやり方はどこを探しても見つからなかったので質問させていただきました。
分かる方がいらっしゃいましたら、ご享受のほど、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>う~ん、ちょっとその方法ですと、色々問題が発生しそうです。
。軽く試した範囲だと…難しそうでしたかね。
比較用に1行目のものだけオーナードローしています。
1)描画時のY座標位置が標準描画(2行目)と異なる。
上に寄っています。
2)"INT"の描画時のX座標が異なる。
なのにMeasureStringメソッドで取得した幅の分ずらすと"EGER"の位置は揃う。
DrawDefaultせずに該当の列(SubItem)を全部自前でDrawStringメソッドで描画すれば…ある程度は揃えられるとは思われますが。
No.1
- 回答日時:
オーナードローでちまちま描画していくしかないんじゃないですかね。
http://msdn.microsoft.com/ja-jp/library/system.w …
引数で渡されるDrawListViewSubItemEventArgs型からある程度の情報は得られます。
http://msdn.microsoft.com/ja-jp/library/system.w …
ColumnIndexプロパティで列の位置が、SubItemプロパティ経由でTextプロパティで描画すべき文字列が。
Graphicsプロパティ経由のMeasureStringメソッドで描画する場合のサイズが。
# "INT"でサイズ計算すれば、続きの"EGER"の描画開始座標が算出可能でしょう。
# ただし…ベースラインがズレるかも知れませんけど。
# ベースラインとはなんぞや?という場合は「フォント ベースライン」辺りで検索してください。
文字列の描画はGraphicsプロパティ経由のDrawStringメソッドで。
通常描画をOSに任せる場合はDrawDefaultプロバティを設定してそのままreturnしてしまえばOKでしょう。
面倒なのは…フォーカスが当たっているとき、選択されている時などの状態の時ですかね。
う~ん、ちょっとその方法ですと、色々問題が発生しそうです。。
やはり難しいことしなきゃいけないみたいですね…。
また違うやり方を考えてみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelの条件付き書式についての質問です。 2 2022/09/08 01:25
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Excel(エクセル) Excelのリストにある文字を含むセルを、複数の色で色付けしたいです 2 2022/08/11 17:39
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/07/08 13:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
描画処理が実行されない
-
JAVAでの背景画像表示
-
VB.NET フォーム上に描いたグ...
-
画面のちらつきの原因が知りた...
-
StyleConstants.setLineSpacing...
-
GDI+で描画した画像を消去する...
-
getGraphics()の意味を教えて...
-
Androidで画像の中で指定した範...
-
PDF帳票を作成するためのフリー...
-
VS Treeview のデザイン変更
-
エクセルVBAで、条件に一致する...
-
EXCEL VBAにて動的にCheckBOXを...
-
「タイプ初期化子が例外をスロ...
-
public static void main (Stri...
-
Labelコントロールに数字を代入...
-
C# 点の描き方をおしえてくだ...
-
private static という変数の修飾
-
mainメソッドのthrows節で設定...
-
final修飾子を使っているのに、...
-
DataGridViewでセルクリックイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET フォーム上に描いたグ...
-
VB.NETのSendMessageを教えてく...
-
JAVAでの背景画像表示
-
C# DataGridView のCellPaintin...
-
重なった要素上でのイベントで...
-
C# リストビューの特定のセルの...
-
画面のちらつきの原因が知りた...
-
Androidで画像の中で指定した範...
-
複数画像表示切り替え Visual c++
-
VS Treeview のデザイン変更
-
Labelコントロールの背景をグラ...
-
描画処理が実行されない
-
GDI+で描画した画像を消去する...
-
このプログラミングをどう組み...
-
canvasで表示されてる画像を1...
-
ドラッグして矩形を描くには
-
Canvas等の図形を移動する時,直...
-
getGraphics()の意味を教えて...
-
DirectXのスプライト機能で3D回転
-
Exception occurred during eve...
おすすめ情報