visual basicのeventとcontrolについての質問です。 初心者で苦労しています。以下のようなcodeingをしましたが上手く行きません。宜しくお願いします。 1.下記のcall updatefileによりupdatefile内でcombobox内のdataを設定します。これは次のdialogで 設定どおりに出ています。しかし元のsub startdialog1に帰ってdialogを表示してみるとcombobox 内は空となっています。 subroutineが変わるとformの controlは消えるのでしょうか。 もしそうならどの様にすれば良いのでしょうか。 (pushdata変数等をpublicとして再度comboに入れることもやりましたがNG) 2.STARTDIALOG1の初めに RADIO BUTTONの変更のCODEが有りますが、此処でEVENTが 発生しUPDATEFILEに行きます。 DIALOGを出すまでは初期値を設定しDIALOG上でCLICK等して変更をするCODEなので 不具合です。 (ほかにもいろいろ同じCODEが入っていますので) CODE上の設定変更はEVENTが発生しないように、DIALOGからの変更はEVENT発生としたい のですがどの様にしたら良いでしょうか。(普通そうなので何か勘違いしてるかも) INTERNETで見るとAddHandler,AddressOf,REmoveHandlerなどが記載されていますが、 書き方と何処に書くのか判りません。(本当に必要かも?) よろしくお願いします。 (以下のcodeは読みやすいように簡略化しています、code errorは大目に見て下さい。 ---------------------Form1.vbに記載--------------------------------------- Sub STARTDIALOG1() '此処から処理が始まる with cform2 as Fform2 .Radio_btn1.Checked = True ’ここへくるとbuttonのeventが発生,routineにいき,updatefileへいく Call UpdatePfile(1) 'ここはcomboboxの初期値を設定する(UPDATEPFILEを使う) .ShowDialog() ’UpdatateFileでは入っていたがCOMOBOXの中は空になっている この後comboboxのdataの選択などをdialogue上で設定値を変更する。 end with end sub -----------------------form1.vbに記載---------------------------------- sub UpdatePfile(ByVal cntlNO) 'PushDataはこの前にREADして設定している、keがそのDATAの個数 For k = 1 To ke cForm2.Combo_P.Items.Add(pushdata(k)) ’COMBOBOX Comb_Pに一覧として入れる Next k cForm2.ShowDialog() 'ここではCOMBOBOXにPUSHDATAが入ったLISTがでる end sub --------------------------------------------------------------------------- DisalogはForm2に作成 radioボタン Radio_btn1とRadio_btn2,combobox combo_P等をsetしている '---------------------------Form2.vbに記載------------------------------------ Private Sub push_button(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Radio_BTN1.CheckedChanged,Radio_BTN2.CheckChanged Dim cls As Form1 RDBTN = 1 If RDBTN > 0 Then Call cls.UpdatePfile(RDBTN) end Sub
↧