C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: MouseClickイベント


(過去ログ 52 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■28764 / inTopicNo.1)  MouseClickイベント
  
□投稿者/ 盛皿 (1回)-(2008/11/30(Sun) 16:41:11)

分類:[C#] 

Form1にlistViewのMouseClickイベントの

public void listView1_MouseClick(object sender, MouseEventArgs e)
{
}

があります。
それを、Form2のbutton1_Clickメソッドから呼び出すにはどうすればよいのでしょうか?

どなたかご教授お願いします。
引用返信 編集キー/
■28765 / inTopicNo.2)  Re[1]: MouseClickイベント
□投稿者/ よねKEN (25回)-(2008/11/30(Sun) 17:06:25)
イベントは発生するもので、呼び出すものではありません。
listView1_MouseClickの中で実行している内容を別メソッドに切り出して、
listView1_MouseClickもbutton1_Clickもそのメソッドを呼び出すようにしましょう。

引用返信 編集キー/
■28766 / inTopicNo.3)  Re[2]: MouseClickイベント
□投稿者/ 盛皿 (4回)-(2008/11/30(Sun) 17:28:41)
よねKENさん、早速のご回答ありがとうございます。

それでは、
Form2のbutton1_Clickメソッドの中の、
任意の場所でlistView1_MouseClickイベントを強制的に発生させうことはできないのでしょうか?
引用返信 編集キー/
■28767 / inTopicNo.4)  Re[2]: MouseClickイベント
□投稿者/ やじゅ (810回)-(2008/11/30(Sun) 17:31:37)
やじゅ さんの Web サイト
2008/11/30(Sun) 17:32:46 編集(投稿者)

No28765 (よねKEN さん) に返信
> イベントは発生するもので、呼び出すものではありません。

私は、たまに用途によっては呼んでしまってますね(^^;

private void button1_Click(object sender, EventArgs e)
{
  // pt はマウス位置だよ定義してね。
  listView1_MouseClick(listView1, new MouseEventArgs(MouseButtons.Left, 1, pt.X, pt.Y, 0));
}
引用返信 編集キー/
■28768 / inTopicNo.5)  Re[3]: MouseClickイベント
□投稿者/ 盛皿 (5回)-(2008/11/30(Sun) 17:41:15)
やじゅさん、ご回答ありがとうございます。

私は、Form2のbutton1_Clickメソッドの中の、
任意の場所でlistView1_MouseClickイベントを強制的に発生させたいのですが、
ただ発生(呼び出し?)たいだけで、その時のマウスの位置等は送らなくていいのですが、
送らないと実現できないのでしょうか?

引用返信 編集キー/
■28769 / inTopicNo.6)  Re[4]: MouseClickイベント
□投稿者/ やじゅ (811回)-(2008/11/30(Sun) 17:53:22)
やじゅ さんの Web サイト
2008/11/30(Sun) 18:16:46 編集(投稿者)

No28768 (盛皿 さん) に返信
> ただ発生(呼び出し?)たいだけで、その時のマウスの位置等は送らなくていいのですが、
> 送らないと実現できないのでしょうか?
>

値は何かしら必要(コンパイルエラーになる)なので、ダミーとして 0,0 として送ればいいのは?


一応イベント呼び出しについては、イベントなので名前から推測されるタイミング以外での
呼び出しは反則だよってことです。
引用返信 編集キー/
■28770 / inTopicNo.7)  Re[4]: MouseClickイベント
□投稿者/ よねKEN (26回)-(2008/11/30(Sun) 18:03:36)
No28768 (盛皿 さん) に返信
> 私は、Form2のbutton1_Clickメソッドの中の、
> 任意の場所でlistView1_MouseClickイベントを強制的に発生させたいのですが、
> ただ発生(呼び出し?)たいだけで、その時のマウスの位置等は送らなくていいのですが、
> 送らないと実現できないのでしょうか?

呼び出したいだけなら、最初の私の回答で実現できるわけですが、
私の回答の方法だと何が期待通りにできないのでしょうか? 


public void listView1_MouseClick(object sender, MouseEventArgs e)
{
   切り出したメソッド();
}

private void button1_Click(object sender, EventArgs e)
{
   //何かの処理・・・
  
   // 任意の場所で切り出したメソッドを呼び出すだけ
   切り出したメソッド();

   // 何かの処理
}

引用返信 編集キー/
■28774 / inTopicNo.8)  Re[3]: MouseClickイベント
□投稿者/ 渋木宏明(ひどり) (969回)-(2008/11/30(Sun) 20:23:05)
渋木宏明(ひどり) さんの Web サイト
>>イベントは発生するもので、呼び出すものではありません。
>
> 私は、たまに用途によっては呼んでしまってますね(^^;

ハンドラを呼ばないで、Button.PerformClick() すればよろしんじゃないでしょうか。

# 自分じゃまずしないけど。
引用返信 編集キー/
■28775 / inTopicNo.9)  Re[4]: MouseClickイベント
□投稿者/ やじゅ (812回)-(2008/11/30(Sun) 20:51:00)
やじゅ さんの Web サイト
No28774 (渋木宏明(ひどり) さん) に返信
> ハンドラを呼ばないで、Button.PerformClick() すればよろしんじゃないでしょうか。
>

一応、listView1_MouseClickを呼ぶわけで、Button_Clickを呼ぶわけではないのです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -