• 締切済み

VB2010 フォームのリロード

今までVB6.0でプログラミングをしていた者で、最近VB2010に開発環境を変えました。さっそくソフトを開発しているのですが、フォームのリロードが必要なところがあったためそこのプログラムをネットなどで参考にして書いてみたのですがどうしてもエラーがでます。 今までVB6.0ではその部分を Private Sub Command1_Click() Set Form1 = Nothing Call Unload(Me) Form1.Show End Sub と、記載していました。これをVB2010のコードに書き換えるとどのようになるのでしょうか。 ご回答よろしくお願いいたします。

みんなの回答

回答No.1

Dim f1 As New Form1() Me.Hide() f1.Show() でできそうな気もしますが,そもそも設計をやり直す方がよいと思います。 リロードではなく,プロパティを再設定をすれば良いのですから。 # データバインドしているならば,大元のデータソースを入れ替えれば全部が変わる。

関連するQ&A

  • 別フォームの呼び出し

    6.0でやってます。 form1からform2を呼び出す時、Command1_Clickの処理内で Set FORM = New form2 Call FORM.Show と書いて、form2が呼び出されたらYesNoメッセージボックスを表示し、 Yesを押したらform1のPublicプロシージャに飛んでからform2をUnloadし、Noだったらform2をUnloadするプログラムを作りたいのですが、クリックするとform2が表示されずに、メッセージボックスだけが表示されて、YesNoを選択した後でform2が表示されてしまいます。 それに、Call FORM.Showの処理に行くと、"既にアンロードされています"といったエラーが出ます。 書く順番がおかしいのでしょうか? *****form1のコード******* Private Sub Command1_Click() Set FORM = New form2 Call FORM.Show End Sub Public sub aaa() (処理) End Sub *****form2のコード****** Private Sub Form_Load() msg = MsgBox("戻りますか??", 4, "確認メッセージ") If msg = vbYes Then Form1.aaa Unload Me Else Unload Me End If

  • [VB6] フォームを閉じる方法について

    お世話になります。 VB6で別フォームを起動する際の親フォームの閉じ方について 質問させてください。 呼び出し元フォームからShowメソッドで別フォームを起動すると、 呼び出し先のフォームでマウスのカーソルが砂時計表示になってしまいます。 (呼び出し元のフォームはUnload Meで閉じています。) [Form1の処理] Private Sub Button1_Click() Form2.Show Unload Me End Sub ※Form1は呼び出し元。Form2は呼び出し先。 原因について、どなたかご存知の方がいらっしゃいましたら、 ご教授願えますか?

  • フォームのアクティブと非アクティブ表示について

    Form1からForm2を表示するという処理を以下のようにコーディングしてみました。 **Form1.frm*** Private Sub Command1_Click() Form1.Hide Form1.vbModal Form1.Show End Sub **Form2.frm*** Private Sub Command1_Click() Unlaod Me End Sub 画面にエクスプローラ等のウィンドウが表示されているときに、Form2を表示させようとすると非アクティブ状態で表示されてしまいます。 また、Form2をUnloadするとForm1が表示されるのですが、その際に、Form1のタイトルと、タスクバーに表示されているボタンが反転した後非アクティブ状態になってしまいます。 フォームは常にアクティブで表示させたいのですが、どうすればよいのでしょうか?

  • 【VB6.0】 あるフォームから他のフォームへ値を受け渡したい

    タイトルの通り、あるフォームから他のフォームに値の受け渡しを行いたいのですが、どのようにしたらよいのでしょうか?? 以下のようなコードできんのかなぁ~~って、やったみだけど、 むりでした。。サンプルコード内でいうParamsのような値を 受け渡しさせたいのですが・・・。ご存知の方、申し訳ないですが 教えて頂けると非常にありがたいです。それと、、私はVB初心者です。 ---FormA--- Public Params as new Params Private sub Command1_Click() Call Me.Hide FormB.Show vbModeless, Me End sub ---FormB--- Private Sub Form_Load() 'Owner.Paramsのような形で参照できるかと思ったができませんでした。 End sub

  • クリックした場所にFormを開く

    教えてください! VBでクリックした場所にFormを開くには、どうしたらいいですか? Private Sub Command3_Click() Frm.Show End Sub

  • vb6.0のFormの遷移がうまくいきません。

    Form1からForm2に移動するときのプログラム Private Sub Command5_Click() Form2.Show With Form1 .Enabled = False .Visible = False End With End Sub です。 Form2からForm1に移動するときのプログラム Private Sub Command1_Click() Form1.Show With Form2 .Enabled = False .Visible = False End With End Sub Form1からForm2に移動し、Form2からForm1に移動する 事は出来たのですが。もう一度、Form1からForm2に 移動しようとするとBeep音が鳴り移動できません。 なぜ、2回目は失敗するのでしょうか? プログラムに問題はありますか?

  • [VB6]オーナーウィンドウを設定したShowメソッド

    こんにちは。 XP(SP2),VB6(SP6)で 親フォーム -> 子ダイアログ -> 孫ダイアログを表示する処理を作成し実行すると、 子ダイアログを閉じた際、親フォームが他のアプリケーションの下 にもぐってしまいます。 (例えばメモ帳上で実行して、子ダイアログを閉じた時にメモ帳の下に隠れてしまう、デバッグ時ならばVBの下に隠れる) 孫ダイアログを表示させずに、子を閉じるとこの様に減少は起こりません。 なぜこの様になるのでしょうか? 又、回避策はあるでしょうか?ご存じの方、教えてください。 以下、現象再現用のテストプログラムです。 親フォーム Private Sub Command1_Click() dlg1.Show vbModeless, Me End Sub 子ダイアログ(dlg1) Private Sub Command1_Click() dlg2.Show vbModal, Me End Sub Private Sub CancelButton_Click() Unload Me End Sub 孫ダイアログ(dlg2) Private Sub CancelButton_Click() Unload Me End Sub

  • VBで入力された値をワード文書に表示(OLEオートメーション)

    VBより名前と年齢を入力し、登録ボタンを押すと ワードにデータが登録されるようにしたいのですが、 実行時エラーが表示されます。 Dim x As Object Private Sub Command1_Click() x.Insert.Into Text1.Text & ":" & Text2.Text & Chr(10) ---(1) End Sub Private Sub Form_Load() Set x = CreateObject("Word.Basic") End Sub Private Sub Form_Unload(Cancel As Integer) Set x = Nothing End Sub (1)で 実行時エラー'509'「Insert,文書ウィンドウが選択されていないためコマンドは使用できません」 が表示されます。 考えられる原因はなにか教えてください! VB6.0/WindowsXP SP2/Office 2000 です

  • VB6(SP5) 無限ループ

    VB6(SP5)で、プログラミングをしております。 コマンドボタンをクリックすると、別のフォームを開く仕様にしております。 下記のプログラミングです。 ブレイクポイントで、テキストボックスにフォーカスが戻る事は、確認しております。 が、再び、同じフォームが開きます。要するに無限ループになってしまって いるのです。しかも、開発マシン(Win2000)では、再現しません。 実際のあるマシン(Win98SE)のみ再現します。(全てではありません) 助言の程、よろしくお願い致します。 Private Sub CB_Code_Click() Form1.iDoF = True Form1.Show Do While Form1.iDoF = True DoEvents Loop Set Form1 = Nothing Form_Activate DoEvents Text1.SetFocus End Sub

  • "Enterキー"で閉じる方法…

    お世話になります。 VB初心者&独学でどうしても解けない問題があり、是非、お知恵をお貸し頂けたらと思います。 アラームを作ろうと思い、下記のようなプログラムを作りました。(簡略版) 指定した時間になるとForm2が開かれ、"OK"ボタンで閉じるという単純なものです。 ここで問題が発生したのですがアプリケーションがアクティブ(選択されている)状態だとForm2もアクティブ状態になり"Enterキー"で閉じることが出来ますが、非アクティブ状態ですとForm2も非アクティブ状態で開かれ、タスクバーが点滅して"Enterキー"で閉じれず一度マウスでクリックしてアクティブにしてからではないと閉じれません。 SetActiveWindowや、SetForcusなどでアクティブしても見た目はアクティブになっていますが、"Enterキー"で閉じることが出来ません。 メインForm1が非アクティブ状態でもForm2がアクティブになり、"Enterキー"だけで閉じる方法は無いでしょうか…。 まとまりの無い文章で難解かと思いますが、宜しく御願いします。 (VB6.0、Windows2000) *Form1* Private Sub Form_Load() Me.Timer1.Interval = 500 End Sub Private Sub Timer1_Timer() If Format(Now, "hh:mm:ss") = "12:00:00" Then Form2.Show End If End Sub *Form2* Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() Form2.Command1.Caption = "閉じます" End Sub