この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.DoubleClick イベント
コントロールがダブルクリックされたときに発生します。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
ユーザーのオペレーティング システムのマウス設定に応じて、ダブルクリックが決定されます。 ユーザーは、2 回のクリックではなくダブルクリックと見なされるマウス ボタンのクリック間隔を設定できます。 Click イベントは、コントロールがダブルクリックされるたびに発生します。 たとえば、Form の Click イベントおよび DoubleClick イベントに対してそれぞれイベント ハンドラーがある場合は、フォームがダブルクリックされ両方のメソッドが呼び出されると Click イベントと DoubleClick イベントが発生します。 ダブルクリックされたコントロールが DoubleClick イベントをサポートしていない場合は、Click イベントが 2 回発生することがあります。
このイベントを発生させるには、ControlStyles の StandardDoubleClick 値および StandardClick 値を true に設定する必要があります。 既存の Windows フォーム コントロールから継承している場合、これらの値は既に true に設定されていることがあります。
メモ
|
|---|
|
Click、DoubleClick、MouseDown、MouseUp、MouseHover、MouseEnter、MouseLeave、MouseMove の各イベントは、TabControl.TabPages コレクションに 1 つ以上の TabPage が存在しない限り、TabControl クラスで生成されません。 コレクションに 1 つ以上の TabPage があり、ユーザーがタブ コントロールのヘッダー (TabPage の名前が表示される場所) と対話すると、TabControl が適切なイベントを発生させます。 ただし、ユーザーとの対話がタブ ページのクライアント領域内の場合、TabPage は該当するイベントを発生させます。 |
イベント処理の詳細については、「イベントの利用」を参照してください。
継承時の注意
標準の Windows フォーム コントロールから継承し、ControlStyles の StandardClick 値または StandardDoubleClick 値を true に変更すると、コントロールが Click イベントまたは DoubleClick イベントをサポートしていない場合は、予測できない動作が行われたり、何の効果も得られなかったりします。
Windows フォーム コントロールと、指定したマウス アクションに対して発生するイベント (Click または DoubleClick) の一覧を次に示します。
|
Control |
左マウス クリック |
左マウス ダブルクリック |
右マウス クリック |
右マウス ダブルクリック |
中央マウス クリック |
中央マウス ダブルクリック |
XButton1 マウス クリック |
XButton1 マウス ダブルクリック |
XButton2 マウス クリック |
XButton2 マウス ダブルクリック |
|---|---|---|---|---|---|---|---|---|---|---|
|
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
|
|
クリックする場所 |
Click, Click |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
|
|
クリックする場所 |
Click, DoubleClick |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
|
|
クリックする場所 |
Click, DoubleClick |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
|
|
* TreeView, * ListView |
クリックする場所 |
Click, DoubleClick |
クリックする場所 |
Click, DoubleClick |
[none] |
[none] |
[none] |
[none] |
[none] |
[none] |
|
クリックする場所 |
Click, Click |
クリックする場所 |
Click, Click |
クリックする場所 |
Click, Click |
クリックする場所 |
Click, Click |
クリックする場所 |
Click, Click |
|
|
Form, ** TabControl |
クリックする場所 |
Click, DoubleClick |
クリックする場所 |
Click, DoubleClick |
クリックする場所 |
Click, DoubleClick |
クリックする場所 |
Click, DoubleClick |
クリックする場所 |
Click, DoubleClick |
* マウス ポインターが子オブジェクト (TreeNode または ListViewItem) の上になければなりません。
** TabControl には、TabPages コレクション内に少なくとも 1 つの TabPage が必要です。
ListBox の DoubleClick イベントを使用して、ListBox に示すテキスト ファイルを TextBox コントロールに読み込むコード例を次に示します。
// This example uses the DoubleClick event of a ListBox to load text files // listed in the ListBox into a TextBox control. This example // assumes that the ListBox, named listBox1, contains a list of valid file // names with path and that this event handler method // is connected to the DoublClick event of a ListBox control named listBox1. // This example requires code access permission to access files. private void listBox1_DoubleClick(object sender, System.EventArgs e) { // Get the name of the file to open from the ListBox. String file = listBox1.SelectedItem.ToString(); try { // Determine if the file exists before loading. if (System.IO.File.Exists(file)) { // Open the file and use a TextReader to read the contents into the TextBox. System.IO.FileInfo myFile = new System.IO.FileInfo(listBox1.SelectedItem.ToString()); System.IO.TextReader myData = myFile.OpenText();; textBox1.Text = myData.ReadToEnd(); myData.Close(); } } // Exception is thrown by the OpenText method of the FileInfo class. catch(System.IO.FileNotFoundException) { MessageBox.Show("The file you specified does not exist."); } // Exception is thrown by the ReadToEnd method of the TextReader class. catch(System.IO.IOException) { MessageBox.Show("There was a problem loading the file into the TextBox. Ensure that the file is a valid text file."); } }
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
メモ