Tag: winforms

RichTextBox中RTF文件中的超链接断开

我正在使用RichTextBox来显示RTF文件,其中包含一个超链接。 链接文本不是URL(目标是有效的URL)。 RTF是用Word创建的。 Word和写字板都能正确识别链接(写字板不会启动链接,但会显示相应的手形光标)。 当我将RTF加载到RichTextBox ,链接显示格式正确(蓝色和下划线),但不是表现得像链接,当光标在链接上移动时它仍然是工字梁, LinkClicked事件将不会触发,它实际上在链接后显示尖括号之间的目标(这似乎不正确)。 由于链接文本不是URL,因此DetectUrls在此处没有帮助。 有没有理由说RichTextBox没有正确处理这些链接,或者是一种让它们按预期工作的方法? 这是代码。 TipView.Rtf = tips[tipIndex]; // I’ve also tried TipView.LoadFile, with identical result 要重现此问题,请使用Word(我正在使用2000)创建一个RTF文档,其中包含一个文本不是URL但是以有效URL为目标的链接,并以编程方式将.rtf文件加载到RichTextBox (我使用的是.NET) 2.0 in C#Express 2008)。

ListBox选择所有项目

单击CheckBox时,我需要选择ListBox中的所有项目。 是否可以使用一行代码选择ListBox中的所有项目? 或者我是否必须遍历所有项目并将其中的每一项设置为true? 谢谢 :)

如何以无边框forms设置客户区(ClientRectangle)?

我想知道是否可以设置无边框表单的客户区。 比如说我定义一个这样的表单: 码 public class MyForm : Form { public MyForm() { this.FormBorderStyle = FormBorderStyle.None; } } 结果 我想要做的是指定客户区,以便表单有一个框架(如标准的Windows框架,但自定义绘制)。 结果 基本上,蓝色区域将成为非客户区域,灰色区域将保留为客户区域。 我试图设置客户区,但这似乎只是调整整个表单的大小,因此,不会留下“非客户”区域 这可能吗?

如何更改ListBox中所选项目的颜色?

我有一个带有一些项目的ListBox控件,我想改变所选项目的颜色……我怎样才能在C#(WinForms)中做到这一点? 请帮帮我 :)

如何浏览文件夹

我想设计一个包含浏览按钮的程序,我们可以浏览到所选文件夹并打开文件夹内的文件。 我需要一个参考和阅读,我可以解决我的问题? 喜欢我应该使用什么方法/类。 我不喜欢从MSDN上读书,因为我很难理解他们的理论。 仅供参考我仍然是C#的初学者。 非常感谢你 P / s:这是我从互联网上找到的代码,你可以浏览/创建新文件夹。 但我不知道为什么它使用Shell32.dll .. private void button1_Click(object sender, EventArgs e) { string strPath; string strCaption = “Select a Directory and folder.”; DialogResult dlgResult; Shell32.ShellClass shl = new Shell32.ShellClass(); Shell32.Folder2 fld = (Shell32.Folder2)shl.BrowseForFolder(0, strCaption, 0, System.Reflection.Missing.Value); if (fld == null) { dlgResult = DialogResult.Cancel; } else { strPath = […]

DataGridView Winform中的文本框自动完成

我已经将DataGridView绑定正确地绑定到我的数据表但是我正在尝试使自动完成function正常工作到其中一个文本框列。 自动完成工作正在运行,但我试图将其限制为datagridview上的只有一列。 目前它要么为每一列做,要么根本没有。 有任何想法吗? 代码如下。 private void dataGridDetail_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (dataGridDetail.CurrentCell.ColumnIndex == 2) { var source = new AutoCompleteStringCollection(); String[] stringArray = Array.ConvertAll(products.Select(), delegate(DataRow row) { return (String)row[“code”]; }); source.AddRange(stringArray); TextBox prodCode = e.Control as TextBox; if (prodCode != null) { prodCode.AutoCompleteMode = AutoCompleteMode.SuggestAppend; prodCode.AutoCompleteCustomSource = source; prodCode.AutoCompleteSource = AutoCompleteSource.CustomSource; } } […]

如何在C#中的同一窗口中打开一个新的表单窗口?

我在C#中创建一个应用程序,它有一个菜单,有与之链接的表单,我希望有一个父表单,有一个面板或窗口,当我们点击任何菜单链接时,它的.cs表单应该是在窗口中加载,所以我们可以点击其他窗口,它们的表单应该替换当前窗口。 就像常见的Windows软件一样。 关心Touseef Khan

如何在Web浏览器控件中垂直向下滚动

如何向下滚动c#中WebBrowser组件中的滚动条? 我尝试了以下代码,但它没有完成这项工作: webBrowser2.Focus(); webBrowser2.Document.Body.ScrollIntoView(false);

WinForms Close()将DialogResult设置为Cancel

如果我在WinForm中调用Close(),似乎即使DialogResult当时为None,在我调用Close()之后,我看到它被设置为Cancel。 这听起来不正常吗?

WinForms不同的DPI布局

以某种方式通过Visual Studio创建的表单和控件,设计器具有很强的自我扩展能力,具体取决于Windows的当前DPI /字体大小。 我的UI的一部分是一个标签控件,其中包含动态页面和标签/输入,具体取决于用户的选择。 创建这些时,它们使用的硬编码尺寸适合96 DPI。 在.Net中是否有自动方式来获取这些生成的控件并执行与设计器生成的控件相同的resize? 我想避免自己扩展控件,因为这是旧代码不易维护。