我有一个用VB.NET为Framework4.5编写的WinForms应用程序。我注意到应用程序的启动时间异常长(我写的其他应用程序在启动时几乎立即启动,这个应用程序需要>5秒)多次启动后启动时间不会改变,所以我猜这不是应用程序首次启动期间未缓存CLR代码的情况。我通过记下启动期间的时间做了一些测试:ModulemodMainPublicMyLogAsSystem.Text.StringBuilderPublicSubMain()MyLog=NewSystem.Text.StringBuilderApplication.EnableVisualStyles()Application.S
更新:总结一下我的问题归结为:我希望构建.NET窗体和控件不会创建任何窗口句柄——希望该过程被延迟到Form.Show/Form.ShowDialog谁能证实或否认这是否属实?我有一个带有选项卡控件的大型WinForms表单,表单上有许多控件,在加载时会暂停几秒钟。我已将其缩小到设计器在InitializeComponent中生成的代码,而不是我在构造函数或OnLoad中的任何逻辑。我很清楚我不能尝试在主UI线程以外的任何线程上与UI交互,但我想做的是让应用程序预加载此表单(运行构造函数)在后台,所以一旦用户想要打开它,它就可以立即显示在UI线程上。但是,在后台线程中构建时,在设计器中
我有两个表单,名为form1和form2:form1由一个label和一个button组成。form2由一个textBox和一个button组成当我单击form1按钮时,这将显示form2。在form2中按下按钮后,textBox中的任何输入都应写回form1.label。我有下面的代码,但它不起作用。//CodefromForm1publicpartialclassForm1:Form{publicvoidPassValue(stringstrValue){label1.Text=strValue;}publicForm1(){InitializeComponent();}priva
在发布x-www-form-urlencoded数据时,我很难让自定义模型绑定(bind)正常工作。我已经尝试了所有我能想到的方法,但似乎没有任何方法产生预期的结果。请注意,在发布JSON数据时,我的JsonConverters等都可以正常工作。当我作为x-www-form-urlencoded发布时,系统似乎无法弄清楚如何绑定(bind)我的模型。我的测试用例是我想绑定(bind)一个TimeZoneInfo对象作为我模型的一部分。这是我的模型Binder:publicclassTimeZoneModelBinder:SystemizerModelBinder{protectedov
显示模态对话框的更好方式是什么?form1frm=newform1();frm.showDialog()或(newform1()).showDialog(); 最佳答案 没有一个比另一个“更好”;它们完全等价!但是,在这种特殊情况下,两者都是错误的。ShowDialogmethod要求您调用表单上的Dispose方法。与Show和Close组合不同,这不是自动完成的。来自MSDN:Whenaformisdisplayedasamodaldialogbox,clickingtheClosebutton(thebuttonwithanX
我正在尝试学习Windows.Forms,虽然我有VisualStudio(编辑,显然是我的错误),但我觉得通过在记事本中完成所有事情我可以更有效地学习。我到处搜索采用这种方法的教程。我终于开始使用http://www.geekpedia.com/tutorial33_Windows-forms-programming.html,但在第一个例子之后,它也开始处理多个文件?以某种方式用VisualStudio生成。我如何在记事本中执行此操作?任何人都可以指出我有帮助的地方吗?谢谢!**虽然压倒性的react似乎强烈反对这一点,我开始相信,但我看到SmokingRope谈论它就像将所有类写
我需要在另一个表单的正前方显示一个表单,这让我想到了以下问题。为什么表单的起始位置为CenterParent而字段this.Parent等于null?它必须知道父级才能正确定位自己,它确实这样做了,但未设置Parent字段。这很奇怪。我错过了什么吗?Form2f=newForm2();f.ShowDialog();这就是我在子表单上所做的一切。父级设置为默认窗口位置。无论我将父窗体移到哪里,子窗体都显示在父窗体的中心。 最佳答案 有关所有者的信息通过API调用传递给创建的对话框(您可以在Reflector的ShowDialog(IW
我遇到了在C#中打开和关闭表单的新问题。我的问题是如何在关闭后处理表单。这是我的代码:程序.cs:staticclassProgram{publicstaticTimertimer;[STAThread]staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);timer=newTimer{Interval=1000};timer.Start();Application.Run(newForm1());}}Form1.cs:publicpa
我有一个父表单,我想在父表单中打开一个子表单。这能做到吗?如果是,请用示例代码回复我。谢谢! 最佳答案 以下是执行您想要的操作的代码:假设button1在父表单中。privatevoidbutton1_Click(objectsender,EventArgse){this.IsMdiContainer=true;FormForm2=newForm();Form2.MdiParent=this;Form2.Show();}此外,以下链接将为您提供有关您想要执行的操作的更多详细信息:http://www.codeproject.com/
如何在运行时更改窗体大小?我看过示例,但每个示例都需要Form.Size属性。这个属性可以像这里一样设置:http://msdn.microsoft.com/en-us/library/25w4thew.aspx#Y456,但我已经在可视化工具中创建了我的申请表,并且该表单是这样创建的:staticvoidMain(){Application.Run(newForm());}如何立即设置Size属性,然后通过Form.Height和Form.Width方法更改它? 最佳答案 您不能更改窗体的宽度和高度属性,因为它们是只读的。您可以像