• 締切済み

ボタンとイベント

Visual Basic 2008 Express Editionで、 ボタン1をクリックしたらイベント1が発生し、 もう一度ボタン1をクリックしたらイベント2が 発生するようにするには、どう書けばいいですか?

みんなの回答

  • talosoft
  • ベストアンサー率26% (6/23)
回答No.3

Dim cnt As Integer = 0 Dim MAX_EVENT As Integer = 2'用意するプロシージャの数 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If cnt = MAX_EVENT-1 Then cnt = 0 Select case cnt case 0: 'イベント1 case 1: 'イベント2 End Select cnt+=1 End Sub

getataushi
質問者

お礼

回答ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

イベント1,イベント2 といってますが、ほんとにイベントですか。 処理1、処理2(SUBプロシジャーで処理できる内容)ではないですか。

getataushi
質問者

お礼

回答ありがとうございました。

getataushi
質問者

補足

そうですね。 処理だとしたらどう書くのか教えて下さい。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

 Dim ch As Boolean = False  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click   If ch = False Then     MsgBox("イベント1")     ch = True   ElseIf ch = True Then     MsgBox("イベント2")     ch = False   End If  End Sub チェックを入れるとか?

getataushi
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • ボタンをマウスで押し続けたときのイベント

    VB2005,Frameworks2を使用しています。 フォームに設置したButtonは、通常マウスをクリックする度にイベントが発生しますが、これをボタンをマウスで押している間だけイベントを発生されたいのですがその様なイベントやボタンの設定が見つかりません。 やはりタイマー等を使わないと再現できないのでしょうか? よろしくお願いします。

  • コンボボックス ▼ボタンをクリックしたらイベント

    コンボボックスのクリックイベントについて。 コンボボックスの▼ボタンをクリックしたらイベントを発生させたいのですが Private Sub コンボ0_Click() MsgBox "" End Sub として、▼ボタンを押しても無反応です。 どうやらClickイベントは値が入力されたら発生するようですが 値を入力する前に、▼ボタンでプルダウンで値を入力しようとしたとき位 発生させるにはどうすればいいでしょう? GotFocusイベントだと、▼ボタン以外の部分に触れてもイベントが発生してしまいます。

  • SPREADコマンドボタン発生イベントについて

    突然申し訳ありませんが質問させてください。 SPREAD3.0の先頭列にコマンドボタンをデザインし、 (行数分ボタンが存在する。)動作させたのですが、 クリック対象ボタンにフォーカスがすでに移動して いた場合にクリックイベントが発生しませんでした。 他の、ボタンやセルにフォーカスを移動させ再度 クリックするとイベント発生します。 これは、スプレッドに対する設定のせいなので しょうか? それとも、バグなのでしょうか?もし、バグであれば 対策法があればご教授願います。 よろしくお願いします。

  • 携帯サイトでリンクボタンクリックイベントが起きない

    Visual web DeveloperでC#を使って開発しています。 モバイルサイトを作成しているのですが、リンクボタンをクリック時にクリックイベントが起こりません。 PCからリンクボタンをクリックすると正しく動作するのですが、携帯(AUのEZWEB)からリンクボタンをクリックすると「URLが正しくありません」と出てしまいます。何故でしょうか? 例: リンクボタンクリックイベント protected void LinkButtontn1_Click(object sender, EventArgs e) { text1.Text = "OK"; } PCからLinkButtontn1をクリックするとtext1のTextが"OK"になる。 携帯からだと「URLが正しくありません」と出るだけ。 宜しくお願い致します。

  • 動的に生成したボタンのイベントが拾えない

    環境は、Visual Web Developer 2008 Express Editon with C# です。 データベースは、Oracle 10g Express Edition です。 触り始めて、1週間程度ですので、お手やらかに。 次のようなコードで、Oracleから取得した値をテーブルに表示しています。ここでreaderは、System.Data.OracleClient.OracleDataReaderラスのオブジェクト、Menuは、System.Web.UI.WebControls.Tableクラスのオブジェクトです。 while (reader.Read()) {   object[] values = new object[3];   int i = reader.GetOracleValues(values);   TableRow r = new TableRow();   TableCell delcom = new TableCell();   Button delButton = new Button();   delButton.Click += new EventHandler(delButton_Click);   delButton.Text = "削除";   delcom.Controls.Add(delButton);   r.Cells.Add(delcom);   for (int j = 0; j < 3; j++)   {     TableCell cell = new TableCell();     cell.Text = values[j].ToString();     r.Cells.Add(cell);   }   Menu.Rows.Add(r); } このコードは、メソッドにして、Page_Loadおよび、delButton_Clickの両メソッドから呼び出しています。 ここで、各行に貼り付けた「削除」ボタンを押すと、1回目では削除されず、2回目で削除されるという現象が起きています。 デバッガで追うと、1回目はdelButton_Clickメソッドが呼ばれず、2回目では呼ばれています。 1回目の表示では、設定したイベントが 色々、調べてみましたが、ちょっとお手上げです。 どのようにすれば、毎回この設定したイベントが有効になるかお知恵を拝借できないでしょうか? よろしくお願いします。

  • Access2003でイベントが発生しないのはなぜ?

    いつもお世話になっています。 Access2000を使用して作ったソフトで、 あるコマンドボタンクリック時に、 イベントプロシージャを記入しているのですが、 それを2003形式に変換して、2003の入っている別のPCで実行すると、 ボタンをクリックしても、うんともすんともいいません。 エラーすら飛んできません。 で、どこでつまずいているのか調べるために、 ブレークポイントを使用してコードを止めながら 一行ずつ実行していくと、 ・・・あれ?通った・・・ そして一度通った後は何事も無かったように、 ボタンクリックでイベントが発生するようになってしまった為、 原因がわかりません。 切り分けをしてみたところ、 そのボタンのプロパティ イベントのクリック時の [イベントプロシージャ]を指定してある横の[・・・]ボタンを 一度クリックしてVBAを開いてあげると、 通るようになるみたいです。 他のボタンではそのような現象はみられていませんし、 イベントに[イベントプロシージャ]も指定してありますし、 [・・・]をクリックすると、ちゃんと指定のコードにも飛びます。 おまけにAccess2000だと、何の問題もなく通ります。 似たような状態になった方や、 原因や対処方法をご存知の方が見えましたら、 ご教授頂けると幸いです。 よろしくお願い致します。

  • ボタンクリックイベント 重複防止について

    お世話になります。 C#2005で開発をしております。 ボタンクリックイベントを使用しておりますが、最初のボタンクリックイベントを実行中に、同じボタンをクリックると、複数のボタンクリックイベントが発生してしまいます。 ボタンクリックイベントが複数走らないようにしたいのですが、どのようにして防止するとよいか苦慮しております。 主なコードを以下に記述致します。 ------------------------------------------------------------------------------------ bool bButtonPushFlg = false; private void bShtter1_Click(object sender, EventArgs e) { if (bButtonPushFlg == true) return; bButtonPushFlg = true; Application.DoEvents(); bShtter1.Click -= new EventHandler(bShtter1_Click); // 関数 aaaaa() bShtter1.Click += new EventHandler(bShtter1_Click); bButtonPushFlg = false; } private int aaaaa() { Thread thread; thread = new Thread(new ThreadStart(bbbbb)); thread.Start(); } private int bbbbb() { ---------------- スレッド処理内容 ---------------- } ------------------------------------------------------------------------------------ 恐れ入りますが、ご教示いただきたく、宜しくお願い申し上げます。 以上です。

  • 閉じるボタンでイベント取得する

    いつもお世話になっています。 ブラウザーの右上にある閉じるボタンをクリックしたらイベントを取得する方法を教えてください。 宜しくお願い致します。

  • VS2005リンクボタンのクリックイベントについて

    VisualStudio2005+SQL SErver2005 Expressで社内開発を行っています。 今回ほぼ初めてWEBの簡単なアプリの開発を行っていますが初っ端から行き詰っております。 初期ページに、事業部、部署のコンボボックスと氏名入力用のテキストボックスがあり、リンクボタンを配置しています。 氏名の入力が無かったら、リンクボタンを押した際に入力を促すラベルを表示したいのですが、リンクボタンを押してもチェックがされず、次ページへ遷移してしまいます。 Clickイベント、Commandイベント共に処理を書いてみましたが全く処理を通っていないようです。(ブレークポイントに行きません) クリックした際に処理を行うのは別のイベントがあるのでしょうか? 情報を探していますが、有力な情報に行き着いておりません。 これだ!という情報をお持ちの方、何卒よろしくお願いいたします。

  • blurイベントについて

    javascriptでblurイベントが実行するように設定していますが、 テキストボックスなどにフォーカスが当たった状態でsubmitボタンをクリックすると、 blurイベントが実行され、submitボタンがクリックできなくなります。 ※もう一度、クリックするとクリックできます。 一回目でクリックできるように回避する方法などございますでしょうか?

専門家に質問してみよう