• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームが出力されません)

フォームが出力されません

このQ&Aのポイント
  • Visual Studio2019で作成したテンキー相当のフォームが表示されない。
  • ソースコードの一部を編集したが、エラーが発生してコンパイルできない。
  • Tkパラメータの指定を変更してみたが、フォームは表示されない。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

> Partial Class Tenkey > Inherits System.Windows.Forms.UserControl 上記を見ると、Tenkeyクラスは、FormじゃなくてUserControlとして作成されていますね。 ということは、 Dim frm As New Form frm.ClientSize = New System.Drawing.Size(500, 500) Tk.Size = New System.Drawing.Size(500, 500) frm.Controls.Add(Tk) frm.Show() みたいに、フォームを生成してコントロール追加のコードを書けば何か表示されるかな?

gge00741
質問者

補足

ありがとうございます!!! ついに、ついに一瞬ですが表示されました。 表示されたフォームが一瞬で消えるため、frm.Show()ではなく従来の Application.Run(frm) とすることで、目的が達成できました。 ただ > Partial Class Tenkey > Inherits System.Windows.Forms.UserControl のUserContorollは、フォーム作成時に自分で何か指定したから、こうなったのでしょうか? (UserContorollとなっている場合は、「フォームを再度定義して、それに自分の作ったものを 継承?させて表示させればよい」とも理解できました) ですが、自動的にその指定にならないのでしょうか?または、UserControllの部分を 自分で何かに変えてやれば、上記の対応をしなくても自分のフォームをそのまま使えるのでしょうか?

その他の回答 (4)

回答No.5

> フォーム作成時に自分で何か指定したから、こうなったのでしょうか? そうですね。ソリューションエクスプローラーからの追加のメニューを見ると、Form と UserControl が隣り合っているので、間違えてクリックしたのでしょう。間違えないように気を付けてね。

gge00741
質問者

お礼

質問をフォローしていただき、ありがとうございました。 なるほど、自分でユーザフォームを間違えて選択した可能性が高いです。 3日間悩んだ問題が解決しました!勉強にもなりました。 本当にありがとうございました!!×3のお礼を言いたいです。

回答No.3

Tk.Designer.vb というファイルが自動生成されているはずですが、それをメモ帳で開いて内容を補足にコピペしてもらえますか?その内容から何かわかるかもしれません。

gge00741
質問者

お礼

いつも回答コメントを頂きありがとうございます。 補足は1回答につき1回のため、失礼とは思いますが、残りをここに貼り付けること、お許しください。 (文字数制限のため、 ボタン2~9の処理を削除しています) ' 'Button10 ' Me.Button10.BackColor = System.Drawing.Color.DarkSalmon Me.Button10.Font = New System.Drawing.Font("メイリオ", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) Me.Button10.ForeColor = System.Drawing.SystemColors.ActiveCaptionText Me.Button10.Location = New System.Drawing.Point(3, 279) Me.Button10.Name = "Button10" Me.Button10.Size = New System.Drawing.Size(95, 95) Me.Button10.TabIndex = 9 Me.Button10.Text = "0" Me.Button10.UseVisualStyleBackColor = False ' 'TextBox1 ' Me.TextBox1.Font = New System.Drawing.Font("MS UI Gothic", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) Me.TextBox1.Location = New System.Drawing.Point(63, 379) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(180, 26) Me.TextBox1.TabIndex = 12 ' 'Label1 ' Me.Label1.Font = New System.Drawing.Font("メイリオ", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) Me.Label1.Location = New System.Drawing.Point(3, 382) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(54, 26) Me.Label1.TabIndex = 13 Me.Label1.Text = "西暦" ' 'Label2 ' Me.Label2.Font = New System.Drawing.Font("メイリオ", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) Me.Label2.Location = New System.Drawing.Point(244, 382) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(38, 26) Me.Label2.TabIndex = 14 Me.Label2.Text = "年" ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.Tan Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.TextBox1) Me.Controls.Add(実行) Me.Controls.Add(クリア) Me.Controls.Add(Me.Button10) Me.Controls.Add(Me.Button9) Me.Controls.Add(Me.Button8) Me.Controls.Add(Me.Button7) Me.Controls.Add(Me.Button6) Me.Controls.Add(Me.Button5) Me.Controls.Add(Me.Button4) Me.Controls.Add(Me.Button3) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) Me.ForeColor = System.Drawing.SystemColors.ActiveCaptionText Me.Name = "Form1" Me.Size = New System.Drawing.Size(285, 417) Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Button2 As Button Friend WithEvents Button3 As Button Friend WithEvents Button4 As Button Friend WithEvents Button5 As Button Friend WithEvents Button6 As Button Friend WithEvents Button7 As Button Friend WithEvents Button8 As Button Friend WithEvents Button10 As Button Friend WithEvents TextBox1 As TextBox Friend WithEvents Label1 As Label Friend WithEvents Label2 As Label Friend WithEvents Button9 As Button Friend WithEvents Button1 As Button End Class

gge00741
質問者

補足

ありがとうございます。 Tk.Designer.vb はなかったのでTenkey.Designer.vbを下記に貼り付けます。 ただ4000文字以降、投稿ができないため、同じようなボタン2~9のボタン処理を削除し まずは前半を送付いたします。よろしくお願いします。 <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> Partial Class Tenkey Inherits System.Windows.Forms.UserControl 'UserControl1 は、コンポーネント一覧に後処理を実行するために dispose をオーバーライドします。 <System.Diagnostics.DebuggerNonUserCode()> Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub 'Windows フォーム デザイナーで必要です。 Private components As System.ComponentModel.IContainer 'メモ: 以下のプロシージャは Windows フォーム デザイナーで必要です。 'Windows フォーム デザイナーを使用して変更できます。 'コード エディターを使って変更しないでください。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Dim クリア As System.Windows.Forms.Button Dim 実行 As System.Windows.Forms.Button Me.Button1 = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.Button3 = New System.Windows.Forms.Button() Me.Button4 = New System.Windows.Forms.Button() Me.Button5 = New System.Windows.Forms.Button() Me.Button6 = New System.Windows.Forms.Button() Me.Button7 = New System.Windows.Forms.Button() Me.Button8 = New System.Windows.Forms.Button() Me.Button9 = New System.Windows.Forms.Button() Me.Button10 = New System.Windows.Forms.Button() Me.TextBox1 = New System.Windows.Forms.TextBox() Me.Label1 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label() クリア = New System.Windows.Forms.Button() 実行 = New System.Windows.Forms.Button() Me.SuspendLayout() ' 'クリア ' クリア.BackColor = System.Drawing.Color.LightGray クリア.Font = New System.Drawing.Font("メイリオ", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) クリア.Location = New System.Drawing.Point(95, 279) クリア.Name = "クリア" クリア.Size = New System.Drawing.Size(54, 95) クリア.TabIndex = 10 クリア.Text = "消去" クリア.UseVisualStyleBackColor = False AddHandler クリア.Click, AddressOf Me.クリア_Click ' '実行 ' 実行.BackColor = System.Drawing.Color.LightYellow 実行.Font = New System.Drawing.Font("メイリオ", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) 実行.Location = New System.Drawing.Point(145, 279) 実行.Name = "実行" 実行.Size = New System.Drawing.Size(137, 95) 実行.TabIndex = 11 実行.Text = "実行" 実行.UseVisualStyleBackColor = False AddHandler 実行.Click, AddressOf Me.実行_Click ' 'Button1 ' Me.Button1.BackColor = System.Drawing.Color.DarkSalmon Me.Button1.Font = New System.Drawing.Font("メイリオ", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(128, Byte)) Me.Button1.ForeColor = System.Drawing.SystemColors.ActiveCaptionText Me.Button1.Location = New System.Drawing.Point(3, 188) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(95, 95) Me.Button1.TabIndex = 0 Me.Button1.Text = "1" Me.Button1.UseVisualStyleBackColor = False ' ' ボタン2~9迄を削除しました。

回答No.2

じゃあ、 Tk.Show() の次に Tk.WindowState = FormWindowState.Maximized でどうかな?

gge00741
質問者

補足

ありがとうございます。 やってみました。 今度は、追加したTk.WindowState = FormWindowState.Maximizedの行で、 エラー BC30456 'WindowState' は 'Tenkey' のメンバーではありません。 win_form_app C:\Users\xxxxxx\source\repos\win_form_app\win_form_app\Tenkey.vb と、コンパイラエラーとなります。 フォームのどこかおかしいのでしょうか? Tenkey.vb[デザイン]は、ツールボックスの部品のボタンで作っています。

回答No.1

Dim Tk As New Tenkey の次の行に Tk.Show() が必要かな?

gge00741
質問者

補足

ご回答ありがとうございます。 コンパイルエラーとなるため★の行をコメントアウトし、ご指摘のようにTk.Show()もいれてみましたが、やはり表示されません。(msgboxの”テンキーを出力します”はでます) そもそも、Application.Run(Tk)で、オーバーロードのエラーになるのは もう、フォームが読み込まれているからでしょうか?(ならなぜ出力されないか不思議です)

関連するQ&A