![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
C#のリストビューの特定のセルの中の特定の文字の色を変えたいと思っています。
例えばリストビューの4行目の2列目の中に「INTEGER」という文字列が入れこまれていたら、「EGER」の色だけ赤く変えるということをやりたいのです。
リストビュー全体の文字色、あるいはリストビューの中の特定のセルの文字色を変えるやり方は色々ありましたが、さらにその中の特定の文字だけの色を変えるやり方はどこを探しても見つからなかったので質問させていただきました。
分かる方がいらっしゃいましたら、ご享受のほど、よろしくお願いします。
![「C# リストビューの特定のセルの特定文字」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/2/516508021_5497d5efa399e/M.jpg)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>う~ん、ちょっとその方法ですと、色々問題が発生しそうです。
。軽く試した範囲だと…難しそうでしたかね。
比較用に1行目のものだけオーナードローしています。
1)描画時のY座標位置が標準描画(2行目)と異なる。
上に寄っています。
2)"INT"の描画時のX座標が異なる。
なのにMeasureStringメソッドで取得した幅の分ずらすと"EGER"の位置は揃う。
DrawDefaultせずに該当の列(SubItem)を全部自前でDrawStringメソッドで描画すれば…ある程度は揃えられるとは思われますが。
![「C# リストビューの特定のセルの特定文字」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/d/409275_5497ef1272f98/M.jpg)
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NET フォーム上に描いたグ...
-
アクセスで他アプリから復帰し...
-
JAVAでの背景画像表示
-
p5.jsを使っているのですが
-
C#のGraphicsクラスについてです。
-
C# リストビューの特定のセルの...
-
C# テキストボックスについて
-
C# DataGridView のCellPaintin...
-
MFCでMSペイントみたいなツー...
-
複数画像表示切り替え Visual c++
-
「タイプ初期化子が例外をスロ...
-
エクセルVBAで、条件に一致する...
-
変数名の付け方
-
Java初級 引数に適用できません
-
インスタンス参照でアクセスで...
-
エクセルVBA 画像を貼り付ける...
-
PDFファイルから別ウィンドウで...
-
String.containsの反対機能はあ...
-
複数の変数を宣言する時、同時...
-
配列の重複する値とその個数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET フォーム上に描いたグ...
-
JAVAでの背景画像表示
-
VB.NETのSendMessageを教えてく...
-
C# DataGridView のCellPaintin...
-
Labelコントロールの背景をグラ...
-
C# リストビューの特定のセルの...
-
画面のちらつきの原因が知りた...
-
canvasで表示されてる画像を1...
-
重なった要素上でのイベントで...
-
描画してもウィンドウをリサイ...
-
SwingとEDT(イベントディスパッ...
-
株価チャートソフトを作るのに
-
Javaで文字の角度を変えて表示...
-
JavaでのDirectXの使用
-
Androidで画像の中で指定した範...
-
アクセスで他アプリから復帰し...
-
C# テキストボックスについて
-
VS Treeview のデザイン変更
-
ドラッグして矩形を描くには
-
描画処理が実行されない
おすすめ情報