主题:求教一个简单问题~~
hbxiaowugui
[专家分:110] 发布于 2006-12-08 20:01:00
我用程序建立了一个form和一个textbox,但是运行后闪了一下就不见了,什么语句能让它一直保持?~~我的程序:
public static void Main()
{
Form Form2 = new Form();
Form2.Visible = true;
Form2.Text = "New Form";
Form2.Height = 200;
Form2.Width = 200;
Form2.Show();
TextBox textBox1 = new TextBox();
textBox1.Parent = Form2;
textBox1.Left = 20;
textBox1.Top = 20;
textBox1.Height = 20;
textBox1.Width = 100;
textBox1.Show();
}
回复列表 (共7个回复)
沙发
zhxatx [专家分:500] 发布于 2006-12-08 23:44:00
本来Form的话应该用Application来run的.你可以试一下.
你这段代码显示了一个窗口没错,但是这段代码没有进程保持,所以一下就没有,Main运行完了程序就会结束了.
还有一个解决办法,就是把 Form2.Show();放到程序的后边,然后改用成Form2.ShowDialog(),这样应该也可以解决问题!
板凳
kitten7985 [专家分:10] 发布于 2006-12-10 00:12:00
这个问题我解决不了!看看楼下有人没
3 楼
hbxiaowugui [专家分:110] 发布于 2006-12-10 16:56:00
可不可以说清楚点啊?怎样用application来run?
4 楼
笨笨!! [专家分:0] 发布于 2006-12-10 19:29:00
在 private void Form1_Load(object sender, System.EventArgs e)
{
}
里面放代码
5 楼
hbxiaowugui [专家分:110] 发布于 2006-12-10 20:48:00
解决了,,,,改成Form2.ShowDialog();就不会消失了。
谁能告诉我为什么啊?
6 楼
jiaju2aa [专家分:20] 发布于 2007-01-11 18:27:00
MAIN中放置你要的代码
7 楼
telancs [专家分:680] 发布于 2007-01-13 20:57:00
show()与showdialog()区别:
窗体和对话框要么是有模式的,要么是无模式的。“模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。有关使用对话框的更多信息,请参见对话框中的用户输入。
显示重要消息的对话框应始终是有模式的。模式对话框的一个示例是 Visual Studio 中的“关于”对话框。MessageBox 是您可以使用的一个模式窗体。
“无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。
无模式窗体的编程难度更大,因为用户访问这些窗体的顺序可能无法预知。不论用户执行什么操作,都必须使该应用程序的状态保持一致。工具窗口经常以无模式方式显示。无模式对话框的一个示例是 Visual Studio 中可从“编辑”菜单访问的“查找”对话框。使用无模式窗体可显示常用的命令或信息。
将窗体显示为有模式对话框
调用 ShowDialog 方法。
下列示例显示如何有模式地显示对话框。
' Visual BasicDim frmAbout as New Form()' Display frmAbout as a modal dialogfrmAbout.ShowDialog()// C#//Display frmAbout as a modal dialogForm frmAbout = new Form();frmAbout.ShowDialog();// C++Form * frmAbout = new Form();//Display frmAbout as a modal dialogfrmAbout->ShowDialog();
Form.ShowDialog 方法有一个可选参数 owner,该参数可用于指定窗体的父子关系。例如,当主窗体中的代码显示对话框时,可将 Me(在 Visual Basic 中)或 This(在 C# 中)作为该对话框的所有者传递,以使您的主窗体成为所有者,如以下代码所示。
' Visual BasicPrivate Sub mnuAbout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuAbout.Click Dim f As New Form() f.ShowDialog(Me)End Sub// C#private void mnuAbout_Click(object sender, System.EventArgs e){ Form f = new Form(); f.ShowDialog(this);}// C++private: System::Void mnuAbout_Click(System::Object * sender, System::EventArgs * e) { Form * f = new Form(); f->ShowDialog(this); }
将窗体显示为无模式对话框
调用 Show 方法。
下列示例显示如何以无模式格式显示“关于”对话框。
' Visual BasicDim f As New Form()' Display frmAbout as a modeless dialog.f.Show()// C#//Display frmAbout as a modeless dialogForm f= new Form();f.Show();// C++Form * f = new Form();//Display f as a modeless dialogf->Show();
注意 如果窗体显示为有模式,则在关闭该对话框之前,不执行 ShowDialog 方法后面的代码。但是,当窗体显示为无模式时,那么该窗体显示之后,会立刻执行 Show 方法后面的代码。
我来回复