• ベストアンサー

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

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

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

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

こんにちは DataGridViewのColumnHeaderMouseClickイベントで ・e.Button=Windows.Forms.MouseButtons.Right → Trueで右クリック ・e.ColumnIndex の値がクリックされたカラム位置 ・DataGridView1.Columns(n).visible=false で非表示 でいかがでしょうか

関連するQ&A

  • VB2010のDataGridViewについて

    VB初心者です。 VisualBasic2010のDataGridViewの表示についての質問です。 DataGridViewは通常、行単位でデータを管理する形式になっていますが、 行と列を逆にして操作したいのです。 古いバージョンのVBではコントロール右上のマークをクリックするとタスクが出てきてそこで設定できるようなのですが、VB2010ではタスクの中の操作がなくなっています。 もし、VB2010でも設定する方法があるのでしたら教えてください。 古いバージョンのVBで行と列の入れ換えを行っているサイトがあるので参考までに↓ http://d.hatena.ne.jp/Yamaki/20091214/1260767140

  • vb.netでDataGridViewの背景色の変更について

    初心者ですがよろしくお願いします。 現在DataGridViewにデータを表示できたのですが 背景色の変更ができません。 '編集したDataTableをDataGridViewにセットする DataGridView.DataSource = dt 'DataGridViewにユーザーが新しい行を追加できないようにする DataGridView.AllowUserToAddRows = False '行ヘッダーを非表示にする DataGridView.RowHeadersVisible = False 'DataGridViewの1番目の列を読み取り専用にする DataGridView.Columns(0).ReadOnly = True 'DataGridViewの2番目の列を読み取り専用にする DataGridView.Columns(1).ReadOnly = True 'DataGridViewの3番目以降の列のセルのテキストの配置を上下中央で右寄せする For dateIndex As Integer = 0 To monthList.Count - 1 DataGridView.Columns(2 + dateIndex).DefaultCellStyle.Alignment = _ DataGridViewContentAlignment.MiddleRight Next 'インデックス0の行のセルの背景色を薄い灰色にする DataGridView.Rows(0).DefaultCellStyle.BackColor = Color.LightGray と記述しております。 Rowsの部分をCulumsに変えると縦の色を変えることはできるのですが 何故かRowsだと横の色が変化しません 環境としましては Microsoft Visual Basic 2008 Express Edition VB.NET です ご教授、よろしくお願いします。

  • 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)に移動させてますが各グリッドにフォーカスが残っていて 不自然です。おしえてください

  • VB.netのDataGridViewについて

    VB.netのDataGridViewについての質問です。 DataGridViewで出力された行を選択して、 その行の値をテキストボックスなどに出力させることは可能なのでしょうか? やりたいことは 1.データベースより取得してきたDatatableをDataGridViewに出力 2.出力されたDataGridViewの行を選択する 3.その選択された行の項目(複数)の値を画面上の個々の   テキストボックスなどに反映させる です

  • VB2005 DataGridViewのClipbordCopyについて

    こんにちは。 VB2005のDataGridViewに表示されている全てのセルをヘッダーも含めてClipbordにコピーしたいのですが、 どのように行えばよろしいでしょうか? MSDNには、 http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridview.clipboardcopymode.aspx のサンプルがありますがアクティブなセルしか取得できません。 ご教授のほどよろしくお願いします。

  • VB.NET DataGridViewについて

    VB.NET DataGridViewで表示した4行のデータを1つとして結合したいです。 ご存知の方、教えてください。 環境: Windows XP Visual Studio2005 VB.NET

  • vb.net datagridviewの列位置変更

    vb.net datagridviewの列位置を変更する方法を教えて下さい。 データグリッドビューにDataTable(DBから抽出したデータ)を割り当てました。 DataGridView1.DataSource = DataTable1 ここに、カラムを追加しました Dim column As New DataGridViewButtonColumn() '列の名前を設定 column.Name = "Button" '全てのボタンに"詳細閲覧"と表示する column.UseColumnTextForButtonValue = True column.Text = "詳細閲覧" 'DataGridViewに追加する DataGridView1.Columns.Add(column) この追加したカラムを一番左に表示したいです。

  • VB.NET DataGridView.Sortについて

    VB.NET2005で DataGridView.Sortなるもので DataGridのデータをソートした後の Rowsでデータを取得しようとすると データNOthingになります。 何かいい手はないでしょうか?

  • VBのDATAGRIDVIEWについて

    環境VB.net 初心者です。教えていただきたのですが Datagridviewを使用しループ処理で全行の単価セル内に数字の0を追加したいのですが1行目のセルのみ値が追加されません。(2行以降は全て追加されます)コードは下記の通りです。 For CNT = 0 To マスタテーブルCNT マスタテーブルdatagridview("単価", CNT).Value = 0 Next ご教授お願いします。

  • VB.NETでPictureBoxを右クリックしてメニューを出したい

    こんばんは。 VB.NETなのですが、ピクチャーボックスに 画像を表示してそれを右クリックした時に プレビュー 編集 プログラムから開く など、エクスプローラー上のファイルのアイコンをクリックした時と同じような メニューが出るようにしたいのですが、 それはどのようにしたら良いでしょうか? 色々調べてみたのですが、見つからず、こちらで質問させて頂きました次第です。 ご教示頂けると助かります。