我正在使用C#Windows应用程序(WinForms)开发一个项目,因为我需要创建一个函数来使用按钮鼠标悬停事件更改单个表单中所有按钮的背景颜色。我该怎么做? 最佳答案 更改所有Button类型的控件:for(inti=0;i钩子(Hook)示例:MouseEnter+=newEventHandler(delegate(objectsender,EventArgse){SetButtonColour(Color.Blue);});MouseLeave+=newEventHandler(delegate(objectsender,E
我需要一个后台应用程序来支持我的客户端应用程序,无论主客户端应用程序是否正在运行,它都应该始终在客户端计算机上运行。WindowsService是我的第一选择,但我遇到的问题是:通过主客户端应用程序轻松控制windows服务,发布和安装windows服务的补丁以及windows服务无法运行时的故障排除。因此,我开始考虑Windows服务的替代方案,并发现没有可见窗体的Windows窗体应用程序可以为我做这件事。这个不可见的应用程序应该从系统启动时开始,并一直保持运行,完成Windows服务可以完成的所有工作。但在深入开发之前,我想探讨一下这种方法的优缺点。对这种方法有什么建议/意见吗?
我需要在Windows窗体和控制台应用程序中注册DDE服务器。我已经在Windows窗体应用程序的各个点尝试了注册码,但它似乎没有注册。我已经在frmMain和Program.csMain()中试过了。当我尝试访问DDE服务器时,我收到标准的无法连接消息:“MainForm_Load:客户端无法连接到“CRMIntegrator|myservice”。确保服务器应用程序正在运行并且它支持指定的服务名称和主题名称对。”这是我的注册码:publicpartialclassfrmMain:Form{publicfrmMain(){InitializeComponent();try{//Cre
我有一堆控件,当表单加载时,这些控件会从数据库中填充。我正在使用字典(control.Name作为键,Control.Value作为值)来存储初始值。当用户更改值时,我正在使用其他词典加载当前值并将其与初始词典进行比较。如果值不同,我将运行某种代码来提示用户进行更改。我认为它更骇人听闻,正在寻找更好的解决方案。请指教。谢谢 最佳答案 试试这个ForEachctrlAsControlInme.ControlsIfTypeOfctrlIsCheckBoxThenAddHandler(DirectCast(ctrl,CheckBox).C
我有一个表格..我想把它从1000x1000变成400x400..当我在设计模式下拖动它时..出现滚动条并且它的内容不会随着我的缩小而按比例缩小(通过向内拖动winform窗体的角)..如何通过鼠标拖动自动调整表单内容的大小? 最佳答案 查看控件的Dock和Anchor属性。Winforms不像WPF对其矢量那样进行缩放——它是基于像素的。要么那样,要么确保你的AutoScrollMinSize等于0,0例如:在按钮上,如果我突出显示我的anchor的灰色条,该按钮将与表单的右下角一起移动。
有谁知道我是否可以在任何地方检查这个参数? 最佳答案 您可以阅读Graphics.DpiX辨别这一点。将Graphics.DpiX乘以100再除以96,您将得到字体缩放百分比。这是真的,因为100%的字体缩放等同于96dpi。请注意,如果您的应用程序未标记为DPIaware然后当用户将字体缩放比例设置为150%时,DpiX属性将报告96。在我的脑海中,我不知道标准WinForms应用程序是否被标记为DPI感知。 关于windows-如果用户在win7中使用放大字体大小125%或150%需
关于thispost,我想提供将视频文件拖放到Windows媒体控件中的可能性,以便它们自动打开。我已激活AllowDrop属性但没有效果。我读过在wmp控件上使用图像控件允许这样做,但我不知道如何在不在视频控件上显示它的情况下做到这一点。谢谢。 最佳答案 最好、更简洁的解决方案是将嵌入式媒体播放器包装在用户控件中,并确保媒体播放器的AllowDrop属性设置为“false”并且用户控件的AllowDrop属性设置为true。使嵌入式媒体播放器停靠以填充用户控件,然后像添加任何用户控件一样将其添加到您的表单中。当您在表单中选择用户控
请查看下图我想知道这种控制在windows应用程序(Winforms)中是否可行。我尝试了grid-control但无法实现。基本上ColName是从数据库中填充的。详细列不是从数据库中填充的,它是接收输入的列(来自文本框和文本区域)Detail列必须包含与其相邻列相关的多行(即Col名称)。如上图所示。此处的详细信息列中存在四个子行。但我想根据用户输入增加子行,比如如果要输入6个输入,则应动态生成2个额外的子行。基本上在GridView中,可以动态添加新行输入。我想要类似的东西,但在不同的上下文中,如上所述。请让我知道这种控制是否可行??如果是这样,请帮助我。
我有一个正在使用的C#winforms应用程序。我有一个“浏览输出文件夹”按钮,可将用户带到本地系统网络驱动器上的特定路径。但是,我一直从Explorer.exe收到这些奇怪的异常,它无故崩溃,没有真正的错误消息。当文件夹正常打开并放置一段时间时会发生这种情况,它会打开一条消息说它“已停止工作”并要求我将其关闭。这个问题很容易重复。我对该问题的最佳猜测是它是一个与网络相关的问题。众所周知,该网络偶尔会出现故障(相当频繁地短暂上升/下降)。这会导致问题吗?我使用的代码是(我通常会检查文件夹路径是否有效):stringPath="\\\\serverPath\\data\\MyFolder
我有这部分代码:(在按钮的点击事件中)foreach(RadioButtonrbingrbFiltro.Controls.OfType()){if(((RadioButton)rb).Checked){switch(true){caserbt1.Checked://dosomethingbreak;caserbt2.Checked://dosomethingbreak;caserbt3.Checked://dosomethingbreak;}}}但是在--->caserbt1.Checked中将单选按钮转换为字符串时出错我该如何解决这个问题,或者我还能使用什么?