Questions tagged «winforms»

WinForms是Windows Forms的非正式名称,Windows Forms是Microsoft .NET Framework和Mono中的GUI类库。此标签中的问题还应使用目标框架([.net]或[mono])进行标签,并且通常应使用编程语言标签进行标签。

11
获取当前文件夹路径
我想创建一个转换文件的程序。我希望用户能够将可执行文件放置在任何目录中,并且在执行该程序(双击.exe)时,我希望该程序处理exe文件所在的当前文件夹中的所有文件。程序如何确定当前正在执行的路径? 我尝试过,System.Windows.Forms.Application.StartupPath但这似乎是错误的方式。 有任何想法吗?
222 c#  .net  winforms  path 





5
如何使ComboBox在.NET中不可编辑?
我希望有一个“仅选择” ComboBox,它提供项目列表供用户选择。ComboBox控件的文本部分中应禁用键入。 我最初对此进行了搜索,结果发现了一个过于复杂,误导性的建议来捕获KeyPress事件。
205 c#  .net  winforms  combobox 

20
ComboBox:向项目添加文本和值(无绑定源)
在C#WinApp中,如何将文本和值同时添加到ComboBox的项目中?我进行了搜索,通常的答案是使用“绑定到源”。但是,在我的情况下,我的程序中没有准备好的绑定源...我该怎么做: combo1.Item[1] = "DisplayText"; combo1.Item[1].Value = "useful Value"
202 c#  winforms  combobox 


15
使用给定的DateTime对象获取一个月的第一天和最后一天
我想获取给定日期所在的月份的第一天和最后一天。日期来自UI字段中的值。 如果我使用时间选择器,我可以说 var maxDay = dtpAttendance.MaxDate.Day; 但是我正在尝试从DateTime对象获取它。所以如果我有这个... DateTime dt = DateTime.today; 如何从中获得每月的第一天和最后一天dt?
196 c#  .net  winforms  datetime 

8
如何正确退出C#应用程序?
我在C#中有一个已发布的应用程序。这里的问题是,每当我通过单击红色退出按钮关闭主窗体时,它都会关闭窗体,但不会关闭应用程序。当我尝试关闭计算机时,我发现了这一点,希望我制作的应用程序运行顺利,然后被放置了MessageBoxAlerts 的许多子窗口轰炸了。 我尝试过,Application.Exit但它仍然调用所有子窗口和警报,并且我不知道如何使用Environment.Exit以及将哪个整数放入其中。 顺便说一句,每当我的表单调用formclosedor form closing事件时,我都会使用一个this.Hide()函数关闭应用程序。这会影响我的应用程序现在的行为吗?
196 c#  winforms  exit 

30
Visual Studio构建失败:无法将exe文件从obj \ debug复制到bin \ debug
更新: 可在Microsoft Connect上找到重现此错误的示例项目。我还测试并验证了下面接受的答案中给出的解决方案可用于该示例项目。如果此解决方案不适合您,则可能是您遇到了其他问题(属于一个单独的问题)。 这是之前在Stack Overflow和其他地方都提出过的问题,但是到目前为止,我发现的任何建议都没有帮助我,所以我只需要尝试提出一个新问题。 场景:我有一个简单的Windows窗体应用程序(C#、. NET 4.0,Visual Studio 2010)。它具有大多数其他表单都继承的几个基本表单,它使用实体框架(和POCO类)进行数据库访问。没什么花哨的,没有多线程的。 问题:暂时一切都很好。然后,当我要启动应用程序时,Visual Studio突然无法构建。我收到警告“无法删除文件'... bin \ Debug \ [ProjectName] .exe'。访问路径'... bin \ Debug \ [ProjectName] .exe'被拒绝。” 错误“无法将文件'obj \ x86 \ Debug \ [ProjectName] .exe”复制到'bin \ Debug \ [ProjectName] .exe'。该进程无法访问文件'bin \ Debug \ [ProjectName] .exe” “因为它正在被另一个进程使用。” (在运行Rebuild时,我同时收到警告和错误,但在运行Build时,只有错误-认为不相关吗?) 我完全理解警告和错误消息的含义:Visual Studio显然试图覆盖exe文件,同时由于某种原因它同时锁定了该文件。但是,这并不能帮助我找到解决问题的方法...我发现唯一可行的方法是关闭Visual Studio,然后重新启动它。然后进行构建和启动,直到我对某些表格进行了更改,然后又遇到了同样的问题,必须重新启动...真令人沮丧! 如上所述,这似乎是一个已知问题,因此有很多建议的解决方案。我将在这里列出我已经尝试过的内容,以便人们知道要跳过的内容: 创建一个新的干净解决方案,只需复制旧解决方案中的文件即可。 将以下内容添加到项目的预构建事件中: …

9
如何从C#中的表单返回值?
我有一个主窗体(我们称其为frmHireQuote),它是MDI主窗体(frmMainMDI)的子窗体,单击按钮时通过ShowDialog()显示了另一个窗体(frmImportContact)。 当用户单击frmImportContact上的“确定”时,我想将一些字符串变量传递回frmHireQuote上的某些文本框。 请注意,可能有多个frmHireQuote实例,很重要的一点是,我要回到调用此实例frmImportContact的实例。 最好的方法是什么?



9
自动执行InvokeRequired代码模式
我已经痛苦地意识到,需要多长时间在事件驱动的GUI代码中编写以下代码模式,其中 private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } 变成: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else { object1.Visible = true; object2.Visible = false; } } 这在C#中是一个尴尬的模式,既要记住也要键入。有没有人想出某种捷径或构造可以在某种程度上实现自动化?如果有一种方法可以将函数附加到执行此检查的对象而不必完成所有额外工作(如object1.InvokeIfNecessary.visible = true类型快捷方式)的方法,那将很酷。 先前的答案已经讨论了每次调用Invoke()都是不切实际的,即使这样,Invoke()语法效率低下,仍然难以处理。 那么,有人知道快捷方式吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.