我正在开发一个大型应用程序并向其添加一些拖放功能。具体来说,我允许用户将文件拖放到主窗口中以打开该文件。问题是当主窗口显示对话框(例如,当前打开的文件中的项目的属性窗口)时,仍然允许进行拖放操作。如果主窗口显示模式对话框,我宁愿不允许这种情况发生。这是因为在对话框打开时在应用程序中加载新文件可能会使程序崩溃:调用对话框的代码不希望在对话框打开时更改打开的文件(这就是为什么对话框是模态的...)。主要应用程序是用C++编写的,但我发布了一个C#示例。症状/行为在两个平台上是相同的,但我可以使用C#用更少的代码来演示它。我对这两种语言/平台都非常熟悉,因此我可以根据需要将任何答案翻译成适当
我想做的是从互联网上获取汇率。经过长时间的研究,我发现了这个功能。protectedvoidButton1_Click(objectsender,EventArgse){try{stringxmlResult=null;stringurl;url="http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency="+TextBox1.Text+"&ToCurrency="+TextBox2.Text+"";HttpWebRequestrequest=(HttpWebRequest)WebRequ
我想创建一堆具有相同属性的表单,并通过分配构造函数的参数来初始化表单构造函数中的属性。我尝试创建一个继承自表单的类,然后让我的所有表单继承自该类,但我认为由于无法调用InitializeComponent(),所以我遇到了一些问题。有关如何执行此操作的一些C#代码是什么? 最佳答案 应该通过让构造函数调用base()来调用父级的InitializeComponent,如下所示:publicYourFormName():base(){//...}(您的父Form应该在其构造函数中调用InitializeComponent。您没有删除它
如何制作带复选框的下拉列表?我有一个Windows应用程序(vb.net),复选框列表控件不是我表单上可用空间的真正选项。谢谢。 最佳答案 您必须进行所有者绘制才能获得这种功能。如果您的表单空间不足,我建议您首先查看是否可以重构GUI以使其更简单。 关于.net-带复选框的下拉列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1492405/
我有一些从Form派生的Form类。我想计算1个特殊类(如Form2)的所有打开表单实例。这是一个简单的WinForms应用程序(没有Mdi)。Form1(主)Form2(可以很多)Form3(其他表格)该应用程序无法启动多次。所以它只是计算这个应用程序中的窗口数。我的想法:Application可以给我一个打开的窗口列表吗?WinApi,枚举1个应用程序的窗口?将每个新的Form2窗口放入一个列表中(我希望避免这种情况) 最佳答案 使用Application.OpenForms属性如:intform2Count=Applicati
在VisualStudio中创建VB.NETWinforms项目时,似乎隐藏了许多与初始化有关的代码。有没有办法显示它,以查看从一开始就通过创建哪个语句MyProject和MyApplication对象,创建和展览SplashScreen最后定义和创建My.Application.ApplicationContext.MainForm?也就是说,控制台应用程序项目SubMain()这是可见的,我认为Winforms应用程序也应该有一个,但是它被隐藏和包装了程序,这些例程创建了Splashscreen,MainForm等。我希望看到并更好地理解这种流程。谢谢!看答案单击项目->属性-&gt
这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:SingleFormHideonStartup我想在运行后隐藏我的WinForm(不是最小化)。我用过:this.Load+=newSystem.EventHandler(this.Form1_Load);privatevoidForm1_Load(objectsender,EventArgse){Hide();}但它不起作用。你能帮我做吗?
我希望我的C#.NET应用程序有一个表单,但不是一个表单。当我通常启动Windows窗体应用程序时,就好像窗体是后面所有其他事物的主人:staticvoidMain(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newForm1());}相反,我想启动我的程序,然后它能够显示一个表单,但它本身不是一个表单。换句话说,我不希望应用程序的主Controller是表单,而是希望它是一个非可视化的逻辑容器,它具有显示表单的能力,但
这个问题在这里已经有了答案:GettingWindowsOSversionprogrammatically(6个答案)关闭5年前。使用C#,如何获取关于窗口中显示的Windows内部版本号或操作系统内部版本号?这与版本号不同:对于Windows10创意者更新,内部版本号将为1703,操作系统内部版本将为15063.296。我在Environment.OSVersion和这个链接问题中找不到任何相关内容(GettingWindowsOSversionprogrammatically)只是获取版本号(在本例中为10)
正在处理一个简单的cGUI库,我从winapi开始后端,现在在计算控件的首选大小时遇到一些问题。我正在将我的结果与Windows.Forms的结果进行比较。现在,我正在使用DesignSpecificationsandGuidelines-VisualDesignLayout中的值(例如按钮和文本框是14个“对话框逻辑单元”高)用于计算winapi中的像素大小实现,同时使用Windows窗体保持所有默认值。我创建了这些简单的演示实现:Windows窗体(demo.cs):usingSystem.Drawing;usingSystem.Windows.Forms;namespaceW