• 締切済み

C#のWindowsアプリケーションのセルダブルクリックのコードについて

今、C#のWindowsでプロジェクトのソースコードを勉強しています。 セルダブルクリックイベント処理でわからないんですが、それが次のコードです private void dgvOrder_CellDoubleClick(object sender,DataGridViewCellEventArgs e) そのイベント処理が SelectDataUpdate(2,e.RowIndex); です。  ここで、わからないのがイベント処理の()の中です。 この、2,e.Indexはどういうことですか?SelectUpdateは、選択して、更新するですよね? 詳しく教えてください。お願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

SelectDataUpdateといったユーザー定義関数がどこかに定義されているはずですよ 推測ですが 2がUpdateなどのコマンド識別、 e.RowIndexが行識別 でデータベースにアップデート(またはINSERT)などのSQLを発行しているのでしょう 編集 > 検索で SelectDataUpdateを探してみましょう SelectDataUpdate関数の場所が分からなければ この部分にブレークポイントを作成しておいて実行します セルをダブルクリックして 実行を中断し、ステップ実行で関数を特定しましょう

関連するQ&A

  • データグリッドビューについて

    VB.net2010を利用しております。 データグリッドビューでセルの値を変更するイベントと セルをダブルクリックするイベントを一つのデータグリッドビューに 書くとエラーが発生します。 (メニューフォームから対象フォームを呼び出す際にエラーが発生します。) エラー内容 フォームの作成中にエラーが発生しました。詳細については、Exception.InnerException を参照してください。エラー: インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメーター名: index Private Sub dgvList_CellDoubleClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvList.CellDoubleClick Private Sub dgvList_CellValueChanged(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvList.CellValueChanged すみませんが回避方法がありましたら教えていただけないでしょうか。

  • C#のwindowsアプリケーションで??

    今、以下のような流れを考えています C#のwindowsアプリケーションでフォーム中のボタンを押す。 ↓ このイベントで発生するoという配列を戻す ↓ 他のボタンを押した時にoの値を引いてくる。 しかしながら、うまく処理できていません。 配列の大きさが未確定のoという配列を戻して他のイベントで使うにはどういう処理をしたらいいのでしょうか? わかるかたがいましたら、教えていただけないでしょうか? よろしくお願いします。 参考までに考えているプログラムを下に示します。 記述中のプログラム(voidをdoubleに変更してもうまくいきませんでした。 public void button3_Click(object sender, EventArgs e) {       int a; int b; 途中省略       double[, ,] o = new double[a, 50,b];        途中省略 return o }

  • C# WEB表示について

    フォーム上にwebBrowser1があって下の通りに読み込み完了しましたと出ますが、 webBrowser1に表示されません。どうしたらいいですか? webBrowser1のプロバティでイベントを利用するのではなくコードで作りたいので、どなたか教えて頂けませんか? ボタン1はヤフーで、ボタン2とかも製作したいので。 ソース private void button1_Click(object sender, EventArgs e) { WebBrowser webBrowserForPrinting = new WebBrowser(); webBrowserForPrinting.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webview); webBrowserForPrinting.Url = new Uri("http://www.yahoo.co.jp/"); } private void webview(object sender,WebBrowserDocumentCompletedEventArgs e) { MessageBox.Show("Webページの読み込みが完了しました!!"); }

  • コンボボックスの削除の仕方

    コンボボックスのリストの削除はどうしたらよいでしょうか。 private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) { index = comboBox1->SelectedIndex; cout << "index=" << index << "\n"; } private: System::Void button2_Click_1(System::Object^ sender, System::EventArgs^ e) { //comboBoxからデータ削除 comboBox1->Items->RemoveAt(index); このようなコードを書いてみましたがうまくいいきません。

  • c# イベントハンドラ 統一

    trackBarを複数配置しているのですが、そのtrackBarごとに private void trackBar1_Scroll(object sender, EventArgs e) { previewcolor(this.trackBar1.Value,'赤'); } private void trackBar2_Scroll(object sender, EventArgs e) { previewcolor(this.trackBar1.Value, '青'); } private void trackBar3_Scroll(object sender, EventArgs e) { previewcolor(this.trackBar1.Value, '緑'); } private void trackBar4_Scroll(object sender, EventArgs e) { previewcolor(this.trackBar1.Value, '透'); } こんな風に別々に記述する形になって非常にスッキリしないです。 これをジェネリクス?やデリゲート?などを使ってすっきりできないのでしょうか? visual stdio c# 2008を使ってます。 宜しくお願いします。

  • C#での書き方

    vb.netでは別のイベントを呼び出すとき下記のような書き方ができたのですが、C#ではどう書くんでしょうか? (ボタン2を押したらボタン1の処理が走る) Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MessageBox.Show("AAA") End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Button1_Click(sender, e) End Sub

  • イベントハンドラ関数について

    現在VC++/CLR 2005 でプログラミングをしています。 基本的な事柄かもしれませんが、質問させてください  以下の2つのボタンのイベントハンドラ関数があった場合 //ボタン1のイベントハンドラ関数 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { } ボタン2をクリックしたときの動作とボタン1の動作を同じにしたいと思っています。 その場合は private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) String^ str = textBox1->Text } //ボタン2のイベントハンドラ関数 private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { String^ str = textBox1->Text } のようにボタン2のイベントハンドラ関数をボタン1と同じように書けばいいのですが イベントハンドラ関数の処理が膨大になった場合を考えて省略する 書き方は無いのでしょうか?(以下の場合ですとエラーが起こってしまいます。) private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { button1_Click(); } 宜しくお願いします

  • C# 2010 contextMenuStripのファンクション名の不

    C# 2010 contextMenuStripのファンクション名の不思議? まず2ケのメニューアイテムを持つcontextMenuStripを作り、それぞれのTEXTを試験1、試験3と改名します ダブルクリックするとハンドラーが出来て、その名称が(1)(2)のように TEXT名+ToolStripMenuItem_Click なります ここでいったんプロジェクトを終了して再ロードします 画像のように試験1と試験3の間に『試験3を途中に追加』を入れてダブルクリックして作ったファンクション名は前2者とは異なり (3)の如くtoolStripMenuItem1_Click となってしまいます なぜ 試験2を途中に追加ToolStripMenuItem_Click にならないのでしょうか? private void 試験1ToolStripMenuItem_Click(object sender, EventArgs e) --- (1) { } private void 試験3ToolStripMenuItem_Click(object sender, EventArgs e) --- (2) { } private void toolStripMenuItem1_Click(object sender, EventArgs e) --- (3) { } 追伸 『試験3を途中に追加』が長すぎるかと思い、『試験3』だけにしても結果は同じでした

  • C#でマウスホイール + Ctrlキーを使った機能

    C#でアプリケーションを作っています。 マウスホイール + Ctrlキーを使った機能を作りたいと思っています。 マウスホイールは、 private void GraphBrowser_MouseWheel(object sender, MouseEventArgs e) { if ((e.Delta / 120) > 0)//上向きに回転される { } } といった感じです。 Ctrlキーは、 private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == e.Control) { } } といった感じです。 各々、別々の単独の処理は、分かるのですが、 マウスホイール + Ctrlキーとなると分からなくなりました。 指導よろしくお願いいたします。

  • C#プログラムにて

    C#プログラムにて お世話になります。 C#初心者です。 プログラムコードを書き始めで、早速行き 詰っています。 ステップでコードの動きを確認したところ、 program.csのMainから下記のForm1.csに 移りForm1のデザイナが表示されるのですが、 button3を押してもForm3が表れません。 また、ステップの黄色いカーソルと言いますか ステップの位置情報も消えています。 何がどう悪いのか分からなく困っています。 どなたかご親切な方、ご教授頂きたく 宜しくお願い致します。     記 using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { Form3 cForm3 = new Form3(); cForm3.ShowDialog(); } private void button2_Click(object sender, EventArgs e) { DialogResult ans; ans = MessageBox.Show("最新のコード表を照会しますか?", "Microsoft Visual Studio", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (ans == DialogResult.OK) Application.Exit(); } private void button12_Click(object sender, EventArgs e) { Form4 cForm4 = new Form4(); cForm4.ShowDialog(); } } }