草庐IT

c# - WinForms 中的模型 View 展示器

我第一次尝试使用WinForms实现MVP方法。我正在尝试了解每一层的功能。在我的程序中,我有一个GUI按钮,单击该按钮会打开一个打开文件对话框窗口。所以使用MVP,GUI处理按钮点击事件,然后调用presenter.openfile();在presenter.openfile()中,是否应该将该文件的打开委托(delegate)给模型层,或者因为没有要处理的数据或逻辑,它是否应该简单地响应请求并打开openfiledialog窗口?更新:我决定悬赏,因为我觉得在这方面我需要进一步的帮助,最好是根据我下面的具体要点量身定制,以便我了解背景。好的,在阅读了MVP之后,我决定实现被动Vie

c# - 如何将命令行参数传递给 WinForms 应用程序?

我有两个不同的WinForms应用程序,AppA和AppB。两者都运行.NET2.0。在AppA中,我想打开AppB,但我需要将命令行参数传递给它。如何使用在命令行中传递的参数?这是我目前在AppB中的主要方法,但我认为您不能更改它?staticvoidmain(){} 最佳答案 为您的winforms应用程序使用args的最佳方式是使用string[]args=Environment.GetCommandLineArgs();您可以将其与枚举的使用相结合,以巩固整个代码库中数组的使用。"Andyoucanusethisanywhe

c# - 如何将命令行参数传递给 WinForms 应用程序?

我有两个不同的WinForms应用程序,AppA和AppB。两者都运行.NET2.0。在AppA中,我想打开AppB,但我需要将命令行参数传递给它。如何使用在命令行中传递的参数?这是我目前在AppB中的主要方法,但我认为您不能更改它?staticvoidmain(){} 最佳答案 为您的winforms应用程序使用args的最佳方式是使用string[]args=Environment.GetCommandLineArgs();您可以将其与枚举的使用相结合,以巩固整个代码库中数组的使用。"Andyoucanusethisanywhe

c# - 如何从 WinForms 中的文本框移除焦点?

我需要从多个TextBox中移除焦点。我尝试使用:textBox1.Focused=false;它的ReadOnly属性值为true。然后我尝试将焦点设置在表单上,​​以便将其从所有文本框中删除,但这也不起作用:this.Focus();当文本框被选中时,该函数返回false。那么,如何从TextBox中移除焦点? 最佳答案 您需要一些其他可聚焦的控件来将焦点移动到。请注意,您可以将焦点设置为标签。您可能需要考虑下一步要将[Tab]键带到哪里。另请注意,您不能将其设置为表单。像Form和Panel这样的容器控件会将Focus传递给它

c# - 如何从 WinForms 中的文本框移除焦点?

我需要从多个TextBox中移除焦点。我尝试使用:textBox1.Focused=false;它的ReadOnly属性值为true。然后我尝试将焦点设置在表单上,​​以便将其从所有文本框中删除,但这也不起作用:this.Focus();当文本框被选中时,该函数返回false。那么,如何从TextBox中移除焦点? 最佳答案 您需要一些其他可聚焦的控件来将焦点移动到。请注意,您可以将焦点设置为标签。您可能需要考虑下一步要将[Tab]键带到哪里。另请注意,您不能将其设置为表单。像Form和Panel这样的容器控件会将Focus传递给它

c# - 将枚举绑定(bind)到 WinForms 组合框,然后设置它

很多人已经回答了如何在WinForms中将枚举绑定(bind)到组合框的问题。是这样的:comboBox1.DataSource=Enum.GetValues(typeof(MyEnum));但如果无法设置要显示的实际值,那将毫无用处。我试过:comboBox1.SelectedItem=MyEnum.Something;//Doesnotwork.SelectedItemremainsnull我也试过:comboBox1.SelectedIndex=Convert.ToInt32(MyEnum.Something);//ArgumentOutOfRangeException,Sele

c# - 将枚举绑定(bind)到 WinForms 组合框,然后设置它

很多人已经回答了如何在WinForms中将枚举绑定(bind)到组合框的问题。是这样的:comboBox1.DataSource=Enum.GetValues(typeof(MyEnum));但如果无法设置要显示的实际值,那将毫无用处。我试过:comboBox1.SelectedItem=MyEnum.Something;//Doesnotwork.SelectedItemremainsnull我也试过:comboBox1.SelectedIndex=Convert.ToInt32(MyEnum.Something);//ArgumentOutOfRangeException,Sele

c# - 如何编写自动缩放到系统字体和 dpi 设置的 WinForms 代码?

简介:有很多评论说“WinForms不能很好地自动缩放到DPI/字体设置;切换到WPF。”但是,我认为这是基于.NET1.1;看起来他们实际上在.NET2.0中实现自动缩放方面做得很好。至少基于我们迄今为止的研究和测试。但是,如果你们中的一些人知道得更好,我们很乐意听取您的意见。(请不要争论我们应该切换到WPF......现在这不是一个选择。)问题:WinForms中的哪些内容不能正确自动缩放,因此应该避免?程序员在编写WinForms代码时应该遵循哪些设计准则,以便它能够很好地自动缩放?到目前为止,我们已经确定的设计指南:见communitywikianswer下面。其中有哪些是不正

c# - 如何编写自动缩放到系统字体和 dpi 设置的 WinForms 代码?

简介:有很多评论说“WinForms不能很好地自动缩放到DPI/字体设置;切换到WPF。”但是,我认为这是基于.NET1.1;看起来他们实际上在.NET2.0中实现自动缩放方面做得很好。至少基于我们迄今为止的研究和测试。但是,如果你们中的一些人知道得更好,我们很乐意听取您的意见。(请不要争论我们应该切换到WPF......现在这不是一个选择。)问题:WinForms中的哪些内容不能正确自动缩放,因此应该避免?程序员在编写WinForms代码时应该遵循哪些设计准则,以便它能够很好地自动缩放?到目前为止,我们已经确定的设计指南:见communitywikianswer下面。其中有哪些是不正

如何在WPF中使用Winform控件

        要在WPF中使用WInform组件,必须将WInform组件放在宿主WindowsFormsHost中. WindowsFormsHost是WPF的一个控件,它允许在WPF应用程序中托管WindowsForms控件。要使用WindowsFormsHost控件,您需要在WPF项目中添加对WindowsFormsIntegration程序集的引用。这是如何做的步骤:在解决方案资源管理器中右键单击WPF项目,然后选择“添加引用”。在引用管理器中,导航到“.NET”选项卡,找到“WindowsFormsIntegration”程序集。选择“WindowsFormsIntegration