senderによる条件分岐
投稿者 うたひこ  (社会人)
投稿日時
2008/10/29 21:17:34
こんにちは。
■挨拶
■どのバージョンか
を書きましょう。
vb2005ならば
ReferenceEqualsは、参照先が同一のものか判定します。
そのほかにはコントロールのNameプロパティやTagプロパティを利用するのも
初心者の方にはわかりやすいと思いますが、
この場合は型のキャストが必要になりますので、
めんどろっこしくてしょーがないです。
■挨拶
■どのバージョンか
を書きましょう。
vb2005ならば
If ReferenceEquals(sender,Button1) Then
' 更新
ElseIf ReferenceEquals(sender,Button2) Then
’削除
End If
ReferenceEqualsは、参照先が同一のものか判定します。
そのほかにはコントロールのNameプロパティやTagプロパティを利用するのも
初心者の方にはわかりやすいと思いますが、
この場合は型のキャストが必要になりますので、
めんどろっこしくてしょーがないです。
投稿者 (削除されました)  ()
投稿日時
2008/10/29 22:10:45
(削除されました)
投稿者 ラジオペンチ  (社会人)
投稿日時
2008/10/29 22:18:44
うたひこ様返信ありがとうございます。挨拶とバージョンを書き忘れていました。
バージョンは2008です。6.0の時に比べて聞き方がだいぶ違いませんか?もっとシンプルだった気がしますが・・。
バージョンは2008です。6.0の時に比べて聞き方がだいぶ違いませんか?もっとシンプルだった気がしますが・・。
投稿者 うたひこ  (社会人)
投稿日時
2008/10/29 23:13:36
>6.0の時に比べて聞き方がだいぶ違いませんか?もっとシンプルだった気がしますが・・。
vb6.0のことはほとんど何もわかりませんので、
後のことは他の方にお任せします。
また、vb6.0の、どういったコードと比較してそのようにおっしゃっているのかわからないので
調べようもありません。
vb6.0のことはほとんど何もわかりませんので、
後のことは他の方にお任せします。
また、vb6.0の、どういったコードと比較してそのようにおっしゃっているのかわからないので
調べようもありません。
投稿者 n  (社会人)
投稿日時
2008/10/30 01:58:38
>例えば1ボタンからきたら、フォームタイトルを"更新"、2ボタンからきたら"削除"などをおこないたいのです。
ここから判断するに、senderはあまり関係ない気がする。
コンストラクタやShowDialogメソッドをオーバーライドしてパラメタ持たすようにしたほうがいいかな。
キーワードはいくつか入れてるから検索してみて。
ここから判断するに、senderはあまり関係ない気がする。
コンストラクタやShowDialogメソッドをオーバーライドしてパラメタ持たすようにしたほうがいいかな。
キーワードはいくつか入れてるから検索してみて。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2008/10/30 01:59:42
sender による判定であれば、このように書きます。
下記の『■リスト12』をご覧ください。
http://homepage1.nifty.com/rucio/main/dotnet/Samples151/Sample177If.htm
VB2008 という事なので、上記に加え、イベント引数を
「sender As Object」ではなく
「sender As Button」にしておくと便利かも。
If sender Is Button1 Then
下記の『■リスト12』をご覧ください。
http://homepage1.nifty.com/rucio/main/dotnet/Samples151/Sample177If.htm
VB2008 という事なので、上記に加え、イベント引数を
「sender As Object」ではなく
「sender As Button」にしておくと便利かも。
投稿者 n  (社会人)
投稿日時
2008/10/30 02:55:01
あれ、読み違えてる?
1.親フォームにボタンが複数ある
2.それぞれのボタンを押すと、同じ子フォームを表示する
3.ボタンによって、子フォームのタイトルを変える
3のことを聞いてると思ったんだけど。
親フォームのボタンをVB6のコントロール配列として扱いたかったのかな?
1.親フォームにボタンが複数ある
2.それぞれのボタンを押すと、同じ子フォームを表示する
3.ボタンによって、子フォームのタイトルを変える
3のことを聞いてると思ったんだけど。
親フォームのボタンをVB6のコントロール配列として扱いたかったのかな?
投稿者 緋竜  (小学生)
投稿日時
2008/10/30 03:44:19
国語は苦手なんで、「例えば」と書いてある。
フォームを沢山使う方法です。
初心者用の粗末品ですが。
フォームを沢山使う方法です。
Option Strict On
'VisualBasic2008(無料版)10/29
Public Class Form1
Public Sub New()
' この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()
' InitializeComponent() 呼び出しの後で初期化を追加します。
Try
With Me
.Text = "Test"
.BackColor = Color.Black
.StartPosition = FormStartPosition.CenterScreen
.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
.MaximizeBox = False
.MinimizeBox = False
.Width = 500
.Height = 500
End With
With Me.Button1
.Width = 75
.Height = 50
.Left = 50
.Top = 250
.Text = "更新"
End With
With Me.Button2
.Width = 75
.Height = 50
.Left = 380
.Top = 250
.Text = "削除"
End With
Catch
MsgBox("コード入力Miss")
End Try
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form3.Show()
End Sub
End Class
'
'Buttonコントロールを2個,Form1に入れます
'プロジェクト(p)をクリックします
'Windowsフォームを追加します(2個)Form2とForm3
'Form2とForm3の設定は各Formでやります。(Form1と同様にできます)
初心者用の粗末品ですが。
投稿者 ラジオペンチ  (社会人)
投稿日時
2008/10/30 18:42:34
緋竜様、n様、魔界の仮面弁士様、うたひこ様返信ありがとうございました。ご協力によりこの件は解決しました。ご協力ありがとうございました。
投稿者 n  (社会人)
投稿日時
2008/10/30 18:57:31
>ラジオペンチさん
ゴメン。まだ見てたら、誰の回答が役に立ったのかだけ教えて。
たとえば、魔界の仮面弁士さん回答と、俺の最初の回答だと全然違うものになるんだけど。
ゴメン。まだ見てたら、誰の回答が役に立ったのかだけ教えて。
たとえば、魔界の仮面弁士さん回答と、俺の最初の回答だと全然違うものになるんだけど。
投稿者 ラジオペンチ  (社会人)
投稿日時
2008/10/30 22:14:58
>n様 こんにちわ。最終的には魔界の仮面弁士のアイデアで解決できました。
また疑問ができたときにはご教授よろしくお願いします。
また疑問ができたときにはご教授よろしくお願いします。
次のフォームの処理を変えたいのですがsenderをどのように処理すればよいのかわかりません。
例えば1ボタンからきたら、フォームタイトルを"更新"、2ボタンからきたら"削除"などをおこないたいのです。
お恥ずかしい内容で申し訳ありませんが、ご返答よろしくお願いします。