• ベストアンサー

GridViewでハイライトを使用しない方法

お世話になります。 VB.NETです(Winアプリ) DataGridViewでSelectされたものがどうしてもハイライトされてしまいます。 この機能を無効にしたいのですが、どうやればいいのか分かりません。 また、クリックした時のセルに表示されるフォーカスも表示されないようにしたいのですが、こちらも分かりません。 ご存知の方いらっしゃいましたら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

ハイライトについては DefaultCellStyle、 RowTemplate.DefaultCellStyle で、 ForeColor、SelectionForeColor を同じ色 BackColor、SelectionBackColor を同じ色 にすればよいと思います。 フォーカスについては、わかりませんでした。

utugi_taro
質問者

お礼

回答ありがとうございます! そのやり方も考えたのですが、実は行ごとにBackColorが違う上にCellの値でForeColorを変えているのでおかしくなってしまうのです。

関連するQ&A

  • VB2005 DataGridView上でクリックを無効にする方法はありますか?

    いつもお世話になっています。 VB2005で開発中です。 DataGridViewの編集可能(readonly=false)のセルに対して、クリックを無効とする方法がありますでしょうか? そのセルに対して、ダブルクリックした時のみ、処理を行いたいのです。 よろしくお願いいたします。

  • 右クリックをトリガーにDataGridViewを変更をしたい。 VB.net2005です

    こんにちわ。 VB.net2005で右クリックをしたDataGridViewの列を 非表示にしたいのですが、右クリックイベント?をどこから 取得したらよいのかわかりません。 そもそも、VB.net2005で右クリックを制御することは 可能でしょうか?(WIN APIを使えば可能?) どなたかご存知の方がいらっしゃいましたら どのように行ったらよいか、お手数ですがご教授ください。

  • DataGridViewで入力チェック後、フォーカスをあてたい

    お世話になります。 現在VB2005で開発中なのですが、DataGridViewの処理で躓いております。 DataGridViewには「氏名」「住所」「生年月日」を入力できるようにしており、全ての項目において入力必須としています。 よって、どれか一つでも入力がなかった場合はエラーメッセージを表示させ、メッセージ表示後に該当項目のセルにフォーカスをあてたいと考え、ロジックを組んでおります。 仮に「氏名」が空白で、次の行の任意セルをクリックした場合、RowValidatedイベントで各セルに対し入力チェックを行い、メッセージを表示させた後にCurrentCellを空白だったCellにし、さらにEditModeで編集可能状態にすればいいと考えていたのですが、結果は最後にクリックした任意セルにフォーカスが移ってしまいます。 入力チェックを発生させるイベントに問題があるのか、カレントセルにフォーカスを当てる処理で問題があるのかで悩んでいる状態です。 どなたか心当たりがあれば教授願いたいです。 よろしくお願いいたします。

  • C#かVB DataGridView

    C#かVB DataGridView DataGridView(1)に1~10までの列が、 DataGridView(2)に11~20までの列 DataGridView(3)に21~28までの列があるとして 今このまま画面にDataGridView3つ表示させると3つともにフォーカスが存在してると思うのですが これをフォーカスがあてているものにだけフォーカスを表示させるようにしたいのです。Enterを連打して1~28までいくようにしたいです。今10までいったらDataGridView (2)に20までいったらDataGridView(3)に移動させてますが各グリッドにフォーカスが残っていて 不自然です。おしえてください

  • ハイライト機能付きPDFビューア

    pdfビューアでkindleアプリのハイライト機能のように文章をハイライト表示&保存ができる、fireタブレットで使用できるアプリはないでしょうか。宜しくお願いします。

  • GridViewで列のソートを無効にしたい

    お世話になります、VB.NET2005です。 GridViewで、列ヘッダをクリックするとソートがかかるところを無効にしたいのですが、どのように設定したらいいか分かりません。 できれば列ヘッダをクリックできないように設定したいのですが・・・。 列ヘッダだけEnableをFalseみたいな事ってできますでしょうか?

  • Excel2000 複数セルに共通のコメントを

    お世話になります。 既存のEXCELブックにVBで言うTOOLTIPテキスト(ポップアップヒントっていうのかな?)のようなものがあり、どのように出しているかわからず困っています。基本的にEXCELにそのような機能はないと思っているのですが・・・。 【状況】 1.ある範囲(3列10行)のセルをクリックすると(フォーカスを当てると)右下に3行のクリーム色のテキストが表示される。基本的には右下だが、3列のうち一番右のセルが半分隠れていたりする場合は左下の場合もある。 2.マクロがついているブックだが、マクロ無効で開くを選択してもTOOLTIPテキストは出てくる。 3.コメントではない。(根拠:その範囲のセルで右クリックした場合、コメントの削除が出てこない) 4.コメントの場合マウスをセルの上にもってきた場合表示されるが、クリックして、フォーカスを移すことで出てくる。また、複数セルを選んだ場合でも出てくる。 このような状態です。EXCELに私が知らないだけで、このような機能があるのでしょうか?またあるならどのように設定するのか教えてください。

  • DataGridViewで…

    初めまして、VB2005初心者のココと申します。 今、VB2005を使い開発しているのですが、詰まってしまいました。 初心者の為、くだらない内容かも知れませんが、ご教授よろしくお願いいたします。 セルに入力されたコードを元にDBから名称を抽出し、名称欄(セル)に表示するプログラムを作っています。 コードを入力し、セルからフォーカスが無くなった際に自動的に名称を表示させたいのですが、うまく表示されず、 現在は、別のセルから戻った後、フォーカスが移動されると表示されるような感じになってしまっています。 フォーカスが離れた際に、表示させればいいと思うのですが、どのようにすればいいのかよく分からず困っております。 今は、CellLeaveを使用しています。 Private Sub DataGridView1_CellLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _ Handles DataGridView1.CellLeave 後、名称取得の際はこんな感じにしています。 名称取得(Val(DataGridView1(1, DataGridView1.CurrentCell.RowIndex).Value)) ※1がコードを入力する列になります。 よろしくお願いいたします。

  • Excel保護セルでダブルクリックを一時的に無効にする方法。

    こんにちわ。 ダブルクリックを一時的に無効にする方法を捜しています。 ご存知の方いらっしゃれば宜しくお願い致します。 内容的にはExcelで入力画面を作って、以下のような使い方をしています。 シートを保護状態で、特定の保護セルをクリックすることで、マクロプログラムの実行(SelectionChange)を行わせています。 そこでダブルクリックを押してしまうと、エラー表示となり選択(select)状態で停止してしまいす。 これを解決したいと思っています。 そこで要求としては、 1.ダブルクリックを無効にする。 2.ダブルクリック可能でも選択(select)状態ではなくする。 のいずれかを実現しようと思っています。 ご存知の方宜しくお願いいたします。 os:win98/win200 excel2000 尚、コマンドボタンで最初やる予定でしたが、win98/win200両方で使おうとすると障害が出て止めにしました。

  • DataGridViewにてセル以外をクリックしたか判別

    VB2005Expressにて開発を行っています。 データテーブルの値をDataGridViewにセットして表示しています。 そこで、データが表示されている部分でなく、セルのない部分 をクリックされたかを判別したいのですが、どのようにしたらいい のでしょうか。 ご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。