草庐IT

Winforms

全部标签

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

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

c# - 在 Windows 窗体应用程序表单中嵌入文件资源管理器实例

我的(C#、.NET3.5)应用程序生成文件,除了引发可以捕获和响应的事件外,我还想以一种形式向用户显示目标文件夹。文件列表以与其他信息相同的形式显示。我正在使用WebBrowser控件(System.Windows.Forms.WebBrowser)的一个实例,然后导航到该文件夹​​。这显示了资源管理器窗口的一些默认View,左侧是文件摘要面板,文件位于“平铺”(大图标和文本)View中。例如,wb.Navigate(@"c:\path\to\folder\");我想隐藏面板并在详细信息View中查看文件列表。用户可以通过右键单击上下文菜单访问它,但我希望它自动出现。我宁愿不必构建自

c# - 当用户控件在公共(public)属性上具有 Browsable false 时,为什么设计器在将其添加到表单时将其设置为 null?

我有一个具有一些公共(public)属性的用户控件,其中一个是我设置[Browseable(false)]的对象。当我在VisualStudio的设计器中添加此控件时,生成的代码会将此对象设置为null。publicclassFoo:System.Windows.Forms.UserControl{[Browsable(false)]publicobjectBar{get;set;}[Browsable(true)]publicboolIsSomething{get;set;}...}privatevoidInitializeComponent(){...this.foo=newFoo

c# - 在 Windows 窗体应用程序中捕获组合键事件

当用户按下Shift+UP键时,我希望我的表单通过调用消息框来响应。如何在Windows窗体中执行此操作? 最佳答案 处理KeyDown事件并有类似的东西:if(e.Modifiers==Keys.Shift&&e.KeyCode==Keys.Up){MessageBox.Show("Mymessage");}事件处理程序必须在主窗体上,您需要将KeyPreview属性设置为true。这可以在属性对话框的设计模式下完成。 关于c#-在Windows窗体应用程序中捕获组合键事件,我们在St

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

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

c# - 如何让 FlowLayoutPanel.AutoSize 与 FlowBreak 一起工作

我有一个FlowLayoutPanel问题,我不知道如何解决。我将两个FlowLayoutPanel放在另一个里面;第二个内部flp内部有3个按钮。FlowLayoutPanel子项的属性是:FlowDirection=LeftToRight;AutoSize=true;AutoSizeMode=GrowAndShrink;WrapContents=true;现在我将每个按钮的FlowBreak属性设置为true,但是我看到的行为不是我想要的,我希望FlowLayoutPanel缩小到按钮的宽度,将FlowDirection更改为UpToDown不是一个选项。有人知道为什么AutoSi

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# - 上下文菜单父级?

您好,我在标签(c#、winforms)上添加了一个上下文菜单。我的上下文菜单有3个子项,我想在单击任何一个上下文菜单项时显示标签文本。提前致谢 最佳答案 ContextMenuStrip控件有一个SourceControl属性,它将引用打开它的控件。您可以使用它从控件中提取文本:privatevoidMenuStripItem_Click(objectsender,EventArgse){ToolStripItemitem=(senderasToolStripItem);if(item!=null){ContextMenuStri

c# - 在 propertygrid 中使用字典

我想使用propertygrid编辑键值(字符串,字符串)项目列表。当我使用Dictionary作为类型,propertygrid将显示一个GUI,但它似乎没有“启用”,即。我无法添加任何项目。是否支持Dictionary对象,或者是否有任何其他对象可以用来解决这个问题? 最佳答案 我已经按照thiscode做了过去:classDictionaryPropertyGridAdapter:ICustomTypeDescriptor{IDictionary_dictionary;publicDictionaryPropertyGridA

c# - 我用什么格式存储比较少的用户数据

我正在为我们本地的高中编写一个小程序(无偿)。该程序有一个界面允许用户输入学校假期。这是一个简单的独立Windows应用程序。我应该使用什么格式来存储数据?大的关系数据显然是矫枉过正。我最初的计划是将数据存储在XML文件中。同事一直建议我使用JSON文件、Access数据库、SQLLite和SQLServerExpress。甚至有人建议使用旧式INI文件。 最佳答案 像这样的项目习惯于变大、变快,如果它们变大,您的XML文件将变得复杂且难以管理。我不建议将数据存储在xml文件或json中-它们只是名称不同的文本文件,都遇到相同的问题