- ベストアンサー
VBの各種フォーム表示について
ご質問です。フォームに関してですが、各種フォーム表示について 疑問があります。 まずFrom2には Dim frm2 As New Form2 frm2.Show() 等で表示する事が可能ですが、 "Explorer1.vb","LoginForm1.vb","AboutBox1.vb","TextFile1.txt" "Dialog1.vb"等の表示はどの様なコードですか? googleで検索しているものの、1ヶ月経ち全然見つかりません。 是非お教え下さい。 (VB2008使用)
- MEASPOP
- お礼率21% (4/19)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
新しいプロジェクトでWindowsアプリケーションを作成。 ・Form1にボタンを5個配置 ・Form1にラベルを1個配置 ・ソリューションエクスプローラーからログインフォーム等を追加する。 ・TextFile1.txtのプロパティ:出力ディレクトリにコピーで「常にコピーする」にしておいてください。(ファイルの中身は適当) ・以下のようにForm1にソースを記述する。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Explorer1.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click LoginForm1.Show() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click AboutBox1.Show() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dialog1.Show() End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim sr As New System.IO.StreamReader("TextFile1.txt", System.Text.Encoding.GetEncoding(932)) Dim txt As String = sr.ReadToEnd() sr.Close() Label1.Text = txt End Sub 表示する「だけ」ならこれで可能。 何をしたいのかわからないのでこれ以上は回答できません。
関連するQ&A
- VB2005で、フォームを初期化したいのですが、教えてください。
VB2005で、フォームを初期化したいのですが、教えてください。 VB2005で、フォームにデータベース内容(ORACLE)を表示するプログラムを作っています。その際、F8キーを押すと画面内容(テキストボックスやDatagridviewの編集内容)を初期ロード状態に戻すようにしたいと思い、F8キー押下時のイベントに、以下のようにプログラムしました。 dim frm as form frm = new form1 me.close frm.show() としてみましたが、me.closeで、プログラムが終了してしまうようです。 どうするのが適切かお教えください。
- ベストアンサー
- Visual Basic
- VB.netで標準モジュールからフォームを呼び出す
お世話になります。 標準モジュールから以下のようにフォームを呼び出しているんですがうまく表示されません。 どこが悪いんですか? 標準モジュール内---------------------- Public Sub Main() Dim frm1 As New Form1 frm1.Show() End Sub
- ベストアンサー
- Visual Basic
- フォーム2を出して フォーム1を閉じたい
のですが、うまくできません。 何が間違っているのでしょうか Dim WithEvents Frm1 As Form1 Dim WithEvents Frm2 As Form2 ------------------- Frm2 = New Form2() Frm2.Show() Frm1 = New Form1() Frm1.Close() ------------------ net です。
- ベストアンサー
- Visual Basic
- 子フォームから開いたフォームと親子関係を結びたい(VB2003)
子フォームから開いたフォームと親子関係を結びたい(VB2003) VB.NET2003についての質問です。 formMain のクラスに以下のコードを書いて実行させると、form1がformMainの子フォームとして開きます 下記は、「form1」を「formMain」の子フォームとして開くコードです。 (formMainクラス内のコードです) ------------------------------ Dim f As New form1 Me.IsMdiContainer=True f.MdiParent=Me f.Show ------------------------------ form1には、form2を開くボタンが用意されています。 質問内容は、このform2を、formMainの子フォームとして開くにはどうすればよいか、ということです。 ためしに、form1クラスに以下のコードを書いて実行させたところ、 「formMainは型であるため、式として利用することができない」というエラーメッセージが出てしまいました。 ------------------------------ Dim f As New form2 f.MdiParent = formMain f.Show() ------------------------------ 以上、よろしくお願い致します。
- ベストアンサー
- Visual Basic
- フォームのアクティブと非アクティブ表示について
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のタイトルと、タスクバーに表示されているボタンが反転した後非アクティブ状態になってしまいます。 フォームは常にアクティブで表示させたいのですが、どうすればよいのでしょうか?
- 締切済み
- Visual Basic
- VB2010で、2つめのフォームを表示させると、フォームを閉じるまで1
VB2010で、2つめのフォームを表示させると、フォームを閉じるまで1つめのフォームの操作ができないのですが、どなたか解決方法を御存じないでしょうか。 よろしくお願いします。 Form1のピクチャーボックスに描いた折れ線グラフ上のカーソル(Form11)が、 マウスの動きに合わせてグラフ線上をたどっていくようにしようとしています。 【Form1のボタンを押すと2つめのフォームを呼び出す】 Dim Mark As New Form11 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'グラフカーソル表示 Mark.Show() 【呼び出されたフォームのコード】 Imports System.Drawing Public Class Form11 Private Sub Form2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint 'フォームのクライアント領域のサイズを設定 Me.ClientSize = New System.Drawing.Size(20, 20) 'カーソルを描く Dim MarkPen As New Pen(Color.Red, 1) Dim g As Graphics = e.Graphics g.DrawEllipse(MarkPen, 0, 0, 20, 20) '円の描画 Me.TopMost = True '最全面 Me.TransparencyKey = Me.BackColor '透明色の設定 Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None '枠なし End Sub End Class
- ベストアンサー
- Visual Basic
- VB.NETでフォーム間でのコントロールの参照
VB.NETでフォーム間でのコントロールの参照が うまくいかず困っています Windows フォーム Form1とForm2があります Form1にはリストビュー(name:ListView1)を配置しています Form1_LoadイベントでListView1にアイテムを追加します Form2を表示し、Form1のListView1のアイテム数を、 取得しようとすると 0 になってしまします どうすればForm2から取得できるのでしょうか? 次のように書いています Form1_Load イベント内 ListView1.Items.Add("Item1") ListView1.Items.Add("Item2") ListView1.Items.Add("Item3") MessageBox.Show(CStr(ListView1.Items.Count), "Form1") Dim Form2 As New Form2() Form2.Show() Form2_Load イベント内 Dim Form1 As New Form1() MessageBox.Show(CStr(Form1.ListView1.Items.Count), "Form2")
- 締切済み
- Visual Basic
- VB6.0でフォームをずらして表示したいのですが
以下のコードを実行すると、メッセージボックスに10としか表示されません。 同じ場所にフォームが追加されていきます。 複数表示されているフォームを数える方法はないでしょうか? ご存知の方教えてください。 よろしくお願いします。 Private Sub CMD_drow_Click() Dim GraphForm As New Form2 Dim GraphNumber As Integer 'グラフカウント GraphNumber = Form2.Count MsgBox GraphNumber 'グラフ表示 GraphForm.Show '表示位置の設定 With GraphForm If GraphNumber <= 5 Then ' .StartUpPosition = 0 .Top = GraphNumber * 100 .Left = 0 Else ' .StartPosition = 0 .Top = (GraphNumber - 5) * 100 .Left = 300 End If End With End Sub
- ベストアンサー
- その他(ソフトウェア)
- VB6.0で複数フォームのグラフ描写ができません
VB6.0でForm1にある描画ボタンを押すと、Form2が表示され、Form2のピクチャーボックスにグラフが描かれるコードを作っているところです。 ところが、Form2にはグラフが描かれません。 以下の簡単なコード(ピクチャーボックス2の背景を白色にする)も実行されません。 Form1にピクチャーボックスを作り、描画ボタンを押すとそこにグラフが表示されるようにしたところ、グラフが描かれました。 フォームは2つ表示させると問題があるのでしょうか? なにか考えられる原因を教えていただけないでしょうか。 Form1に記述しているコード Dim GraphForm As New Form2 GraphForm.Show Form2.Picture2.BackColor = vbWhite
- ベストアンサー
- その他(ソフトウェア)
- VB2010でMDI親フォームから子フォームを表示
VB2010でソフトを作っております。 MDI親フォームから子フォームを表示させたいのですが…。 過去に少しだけVB6を使っていたことがありますが、クラスという概念に苦労しております インスタンスや初期化といったところをうまく扱えばとは思うのですが、よろしくご指導お願いいたします。 1.MDI親フォーム(Form1)のボタンを押し、子フォーム(Form2)を表示させる 2.子フォームが表示されていなかったら表示させる 3.子フォームが表示されていたら何もしない これだけの事ですがずいぶん悩んでおります。 全コードがこれです。 Public Class Form1 Private f2 As New Form2 Private Sub Form1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.IsMdiContainer = True End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim fChild As Form() = Me.MdiChildren For Each f As Form In fChild If f.Text = "Form2" Then Exit Sub End If Next f2 = New Form2 f2.MdiParent = Me f2.Show() f2.Activate() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If f2 Is Nothing OrElse f2.IsDisposed Then f2 = New Form2 f2.MdiParent = Me End If f2.Show() f2.Activate() End Sub End Class ボタン1でもボタン2でも、期待する動作はするのですが、 ボタン1ではアクティブになっているフォームの名前を力技で取得している気がして… ボタン2では子フォーム(Form2)をすでに表示している状態でもさらにShowをしているのが気に入らなくて… もっとスマートな方法がありましたら、ご指導お願いします。
- ベストアンサー
- Visual Basic
お礼
.showですね。 有り難うございます。 いや表示するだけなので、別にそれ以上は求めません。 有り難うございました。