jjzjj

Winforms

全部标签

c# - ref 或 out 参数必须是可赋值变量?

这个问题在这里已经有了答案:Areforoutargumentmustbeanassignablevariable(1个回答)关闭4年前。错误:Areforoutargumentmustbeanassignablevariable代码:usingSystem;usingSystem.Runtime.InteropServices;usingSystem.Windows.Forms;publicclassOAKListView:ListView{protectedoverridevoidOnHandleCreated(EventArgse){base.OnHandleCreated(e)

c# - 如何将资源注入(inject)已构建的可执行文件

我正在开发一个需要品牌化的Windows应用程序。客户将把它卖给其他企业,并且需要为每笔销售定制Logo和名称。客户端不会用visualstudio!我想我需要编写一个打包应用程序来将自定义Logo和字符串资源注入(inject)可执行文件。我打算使用WPF。但由于这是一项关键要求,如果更容易的话,我愿意在winforms中完成。最好的方法是什么?欢迎提出任何建议。 最佳答案 听起来您想要的是应用程序换肤。这并不意味着您必须解压exe并注入(inject)资源。您只需要从项目开始就考虑皮肤并构建应用程序来支持您的皮肤需求。WPF将使

c# - 按钮数组的点击事件

我在C#WFA中有一个Button数组,我想为单击数组中的任何按钮创建一个事件。我该怎么做?以及如何知道它在数组中的哪个位置?我知道发件人是按钮本身 最佳答案 您可以使用for循环来关闭包含当前索引的变量:for(inti=0;iSomeMethod(buttons[index],index);} 关于c#-按钮数组的点击事件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/197

c# - 似乎无法更改 winforms C# 中对象的属性

这是一个有点令人困惑的场景。基本上,当我将setter用于存储按钮颜色的私有(private)变量时,我会尝试设置按钮的颜色。首先,我有一个单独的窗口用于自定义内容。当我更改按钮颜色时,我也想更改此窗口中的每个按钮。我将它存储在我的主窗体类中的静态变量中。publicstaticfrm_customcustomizer;这是相关变量的setter。privateColor_buttonColor;publicColorbuttonColor{get{returnthis._buttonColor;}set{this.btn_input.BackColor=buttonColor;thi

c# - 如何显示耗时较长的函数的进度状态?

我有一个像这样的Windows窗体:1)单击按钮时将执行需要很长时间才能完成的操作,2)显示进度百分比的标签。在我提到的长操作中,我编写了代码来更新标签的Text属性,但它不起作用!请帮助我正确显示进度状态。 最佳答案 您可以查看BackgroundWorker类(参见MSDNoverview)。它允许您在后台运行一些长时间运行的操作,并从后台任务向用户界面报告进度更新(百分比)和完成情况。请注意,您需要自己计算进度百分比。但是,BackgroundWorker类负责其他棘手的方面,例如将您的进度报告发送到主GUI线程(您可以在其中

windows - 在 Windows Forms 窗体上动态添加控件

我正在尝试在Windows窗体窗体的行和列中动态添加一堆控件。例如,如果我有20个控件,我需要创建三列和n行。我如何实现这一点? 最佳答案 将TableLayoutPanel添加到您的表单。在运行时,使用new关键字实例化您的控件。将它们添加到tableLayoutPanel.Controls集合中。您可以将它们添加到特定的行和列,或者让面板让它们流入下一个可用的单元格。 关于windows-在WindowsForms窗体上动态添加控件,我们在StackOverflow上找到一个类似的问

c# - 如何在 WinForm 应用程序的文本框中显示特定的数据库条目

更新:谢谢大家,代码不是问题,尽管有关SQL注入(inject)的信息很有用,但我的问题是我使用的是旧版本的数据库,它没有相应的产品ID,因此它使用的是第一个产品能找到。现在感觉很愚蠢,但感谢您的建议。我目前有以下代码:SqlConnectionconnection=newSqlConnection(@"DataSource=(LocalDB)\v11.0AttachDbFilename=C:\Users\h8005267\Desktop\PracticalProject\Build\System4\System\StockControl.mdf;IntegratedSecurity=

c# - 如何处理表格标题右键单击

我想要右键单击标题栏上的上下文菜单C#中有任何提示/示例吗?更新-由于各种原因,右键单击表单将不起作用,因为表单不为空并且表单是动态合成的,所以...... 最佳答案 您可以通过捕获当用户右键单击标题栏时Windows发送的WM_NCRBUTTONDOWN通知来执行此操作。控件类没有对应的事件,您需要重写WndProc()。这是一个示例表单,您需要添加一个ContextMenuStrip:publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}protect

c# - 如何在 C# 中将窗体居中

如何在C#中将窗体居中,使其出现在屏幕中间 最佳答案 如果你说的是它开始的地方,请使用Form.StartPosition:form.StartPosition=FormStartPosition.CenterScreen;如果你想在任意时间做,你需要计算出屏幕的大小,表单的大小,并在相应地设置Location属性之前自己计算. 关于c#-如何在C#中将窗体居中,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

c# - 将窗口保持在前台(即使它失去焦点)

在我的应用程序(C#,Windows窗体)中,我有一个电话信息屏幕:如果有来电,则会显示一个窗口,其中包含向调用者提供的附加信息。此窗口应在前台打开,并且即使用户正在另一个窗口中书写也应停留在那里(这样用户仍会看到有关来电的信息)。首先我使用了BringToFront-但这并不是在所有情况下都有效(例如,当主应用程序不在前台时)。现在我正在使用BringToFront和user32.dll函数BringWindowToTop->可以工作,但如果窗口失去焦点,它就在后台。我如何实现这种行为? 最佳答案 我想你想将表单设置为TopMos