メソッド「ボタンクリック」からコントロールを取得したいです。
または、Button1、Button2のようにNameで数字が増えていくのでコントロールの数字部分(1.2・・・)を変数として設定できないか教えて欲しいです。
例
メソッド「Button1_Click」からコントロール「Button1」を取得したい。
やってみたこと
メッソド名を取得して、「_Click」を除外してstring形式にした。
stringはButtonに変換できませんとでた。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'メソッド名を取得する
Dim methodName As String = System.Reflection.MethodBase.GetCurrentMethod().Name
'メソッド名から"_Click"を除く
Dim BtnName As String = methodName.Replace("_Click", "")
’この↓のButton1をBtnNameに置き換えたいです。
If Button1.FlatStyle = FlatStyle.Standard Then
Button1.FlatStyle = FlatStyle.Popup
Else
Button1.FlatStyle = FlatStyle.Standard
End If
End Sub
どうぞよろしくお願いします。
No.3
- 回答日時:
イベントからコントロール名を得るなら、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(DirectCast(sender, Button).Name)
End Sub
これでも得られると思いますけど、『’この↓のButton1をBtnNameに置き換えたいです。』の部分の意味がわからなかった。
どうして置き換えたいのかによって違ってくるのでは?
複数のButtonで同じイベントをやりたい、けどボタン名毎に処理を変えたいとかなら『イベントハンドラの共有』で調べてみると見つかるかもです。
やりたい事の詳細が分かりやすければ回答もつくかもですけど。
DirectCast(sender, Button).Nameを教えていただき、別のやりたいことの解決になりました。
大変助かりました。ありがとうございました。
No.2
- 回答日時:
そもそも、「名前」が必要なのでしょうか?
この場合だと、 #1にある方法でsenderから Button 型変数buttonに入れたあとで
If button.FlatStyle = FlatStyle.Standard Then
button.FlatStyle = FlatStyle.Popup
Else
button.FlatStyle = FlatStyle.Standard
End If
と、いうようにできます。
No.1ベストアンサー
- 回答日時:
オブジェクトを取得するなら、senderにトリガーとなったオブジェクトがセットされているので
オブジェクトをsenderから取り出せばよいかと、.Nameで名前が取り出せます。
Private Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
Dim button = CType(sender, Button)
Debug.Print(button.Name)
End Sub
また、Private Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click,,,,,
Button_ClickとしてHandlesにボタンを列挙すれば、トリガーオブジェクトをsenderで取得できるので
各オブジェクトプロパティで処理を分ける事が出来ます。
回答になりますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
-
4
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
5
VB2008で定数に色の設定をしたいです。(初心者)
Visual Basic(VBA)
-
6
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
7
TextBoxに半角数字のみの入力しかできないようにしたい
Visual Basic(VBA)
-
8
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
9
VB.NET2005 TextBox 高さ(Height) 変更
Visual Basic(VBA)
-
10
CloseとDisposeの違い
Visual Basic(VBA)
-
11
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
12
VB.NETでマウスクリックイベントを発生させたい。
Visual Basic(VBA)
-
13
VBでの日付入力値のフォーマットに関して
Visual Basic(VBA)
-
14
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
15
GROUP BYを行った後に結合したい。
Oracle
-
16
Hideについて(.NET)
Visual Basic(VBA)
-
17
別フォームから戻ったときのイベント
Visual Basic(VBA)
-
18
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
19
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
20
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレットコンテキストの意...
-
Objectクラスのオブジェクトを...
-
VB.NETでのnothing の意義について
-
JTableで値を右寄せ表示する方法
-
JSPでのArrayListの表示につい...
-
エクセルVBA 画像を貼り付ける...
-
[ASP.NET]DropDownListのDB連携...
-
servletからjspへオブジェクト...
-
vectorの内容をString型に変換...
-
ピクチャーボックスに点を打つ...
-
VB.netでメソッドからコントロ...
-
GridViewに行追加するには?
-
VBAでの[]
-
オブジェクトの参照渡しについて
-
getParameter()について
-
UTF-8のテキストファイルを開く...
-
String型からlong型への変換は...
-
MIME::Parserのparse_dataメソ...
-
VBA Workbooks.open
-
Excel VBA 定数にオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでの[]
-
エクセルVBA 画像を貼り付ける...
-
サーブレットコンテキストの意...
-
C#のクラスで値渡しをする
-
Vba ListViewの行挿入に関して...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
servletからjspへオブジェクト...
-
javaで、、、
-
VB.NETでのnothing の意義について
-
Dispose()は、どんな時に使うの...
-
ピクチャーボックスに点を打つ...
-
VBスクリプトでテキストファイ...
-
String型からlong型への変換は...
-
JSPでのArrayListの表示につい...
-
C#で親にイベントを投げる方法
-
MessageBox.Show(Me,…の「Me」...
-
エクセルVBA/SpecialCellsで特...
-
getParameter()について
-
VBS でのソート処理Excel2003
おすすめ情報