草庐IT

winforms-interop

全部标签

c# - 按钮 C# (WinForms) 中的圆角边缘

您好,通过对这里和其他网站的一些研究,我制作了一个圆边按钮。protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);RectangleRect=newRectangle(0,0,this.Width,this.Height);GraphicsPathGraphPath=newGraphicsPath();GraphPath.AddArc(Rect.X,Rect.Y,50,50,180,90);GraphPath.AddArc(Rect.X+Rect.Width-50,Rect.Y,50,50,270,90);Graph

c# - 允许用户在 C# WinForms 应用程序中选择文件/文件夹

用户如何从我的表单应用程序中选择文件或文件夹?没有内置组件吗? 最佳答案 有一些具体取决于您需要做什么:OpenFileDialogSaveFileDialogFolderBrowserDialog 关于c#-允许用户在C#WinForms应用程序中选择文件/文件夹,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/992355/

C# WinForms 用户/权限管理

谁能给我提供一个WinForms应用程序示例,该应用程序基于角色或组实现用户身份验证和授权的概念?应用程序应允许用户根据其角色访问主菜单。 最佳答案 如果您从数据库表构建菜单,您可以通过将其连接到另一个表或View(根据权限集排除记录)来对其进行安全修整。下图说明了为用户设置角色权限的基础知识,还包含一些其他表格,用于安全调整表单上的各个控件。Windows窗体应用程序中基于控件的安全性http://www.simple-talk.com/dotnet/windows-forms/controls-based-security-in

c# - 捕获应用程序退出事件 - WinForms

单击应用程序停止时,是否可以捕获Windows窗体关闭事件。我知道应用程序停止工作但是有什么方法可以在应用程序关闭时在任何情况下触发?我从谷歌找到了这些方法,但它们不起作用:AppDomain.CurrentDomain.ProcessExit+=newEventHandler(CurrentDomain_ProcessExit);或Application.ApplicationExit+=newEventHandler(this.OnApplicationExit);是否可以在点击应用程序停止按钮时获得关闭事件? 最佳答案 在Pr

c# - winforms - 状态栏标签的工具提示未显示

我在状态栏中有几个标签,我在上面设置了工具提示。statusLblWeek.Text=weeklyHrs.ToString();statusLblWeek.ToolTipText="Consumptionofthisweek"+statusLblWeek.Text;状态标签显示正确但工具提示未显示。为什么? 最佳答案 使用属性StatusStrip.ShowItemToolTips如果为StatusStrip显示工具提示则为真;否则,假的。默认为false。statusStrip1.ShowItemToolTips=true;sta

c# - Winform Treeview 通过标签查找节点

我有一个TreeView,其中显示成员可能有重复项,而标签不会。示例:TreeNodenode=newTreeNode(itemName);node.Tag=itemID;//uniqueIDfortheitemtreeView1.Nodes.Add(node);因此,在搜索时,我知道我可以使用itemName进行搜索treeView1.Nodes.Find(itemName,true);但是我怎样才能通过标签进行搜索呢?treeView1.Nodes.Where没有定义,所以我没有linq:(关于如何按标签搜索有什么建议吗?:)谢谢! 最佳答案

C# + COM Interop,确定性发布

COM对象通常具有确定性销毁:它们在最后一个引用被释放时被释放。这在C#-COMInterop中是如何处理的?这些类未实现IDisposable,因此我看不到触发显式IUnknown::Release的方法。一项临时测试表明,未引用的COM对象会被延迟收集(即垃圾收集器正在触发释放)。需要主动释放的OCM对象怎么办?(例如,持有大量或共享的关键资源)?原始问题:我们有一个大量使用COM库的C#应用程序,它正在疯狂地泄漏。问题似乎在C++和C#代码“之间”(我们可以访问两者),但我们无法确定。 最佳答案 您可以使用System.Run

c# - 禁用 WinForms ProgressBar 动画

是否可以禁用进度条的动画?我需要它来处理一些暂停且目前未运行的进程。如果进度条在闪烁,普通用户会认为进程正在运行。创建自己的进度条控件的建议不是我想要的。 最佳答案 您可以使用Vista进度条的暂停状态,likethis://AssumingaForm1with3ProgressBarcontrolsprivatevoidForm1_Load(objectsender,EventArgse){SendMessage(progressBar2.Handle,0x400+16,//WM_USER+PBM_SETSTATE0x0003,/

c# - 显示带有 WPF、Winforms 和双显示器的窗口

我有2个显示器和一个启动WPF窗口的WinForm应用程序。我想获取WinForm所在的屏幕,并在同一屏幕上显示WPF窗口。我该怎么做? 最佳答案 WPF不包括方便的System.Windows.Forms.Screen类,但您仍然可以使用它的属性来完成您在WinForms应用程序中的任务。假设this表示WinForms窗口,而_wpfWindow是一个已定义的变量,在下面的示例中引用WPF窗口(这将在您设置为打开的任何代码处理程序中WPF窗口,如某些Button.Click处理程序):Screenscreen=Screen.Fr

C# WinForm : Remove or Customize the 'Focus Rectangle' for Buttons 格式

有没有办法禁用或更好地为常规按钮控件绘制您自己的焦点矩形!(那条虚线看起来很像Windows95ish)我注意到控件属性(FORBUTTONS)没有ownerdrawfixed设置(我不知道这是否是用于解决方案的路径,尽管我已经看到它用于自定义其他控件). 最佳答案 要做到这一点比听起来要棘手。毫无疑问,自定义按钮绘制不可覆盖的原因之一。这按预期工作:usingSystem;usingSystem.Drawing;usingSystem.Windows.Forms;usingSystem.Windows.Forms.VisualSt