winforms相关内容

如何向 C# Winforms 中的标签添加提示或工具提示?

Label 似乎没有 Hint 或 ToolTip 或 Hovertext 属性.那么当鼠标接近 Label 时,显示提示、工具提示或悬停文本的首选方法是什么? 解决方案 你必须添加一个 ToolTip 控件首先添加到您的表单中.然后你可以设置它应该为其他控件显示的文本. 这是一个屏幕截图,显示了添加名为 toolTip1 的 ToolTip 控件后的设计器: ..
发布时间:2022-01-25 22:12:52 C#/.NET

当使用的字体不支持这种语言时,标签控件如何正确显示日文字符?

我正在开发一个以 .Net 4.5 作为目标框架的 Windows 窗体应用程序. 我注意到的一件事是,如果我在 Label 控件上显示日语文本,而标签 (Arial) 的 Font 不支持日语字符,那么 >标签可以成功显示那些字符. 如果我在为其分配日文文本之前和之后检查标签的字体属性,它会显示“Arial".只是,所以字体可能不会动态变化. Label 有哪些内部功能可以实现 ..
发布时间:2022-01-25 22:00:30 C#/.NET

创建自定义 winforms 容器

我想在 winforms 中创建一个与容器控件具有相同行为的控件.我的意思是:在设计模式下,当我将控件放入其中时,它会分组,就像一个组合框. 我正在创建的这个控件包含一些其他控件和一个 GroupBox.我所需要的只是:当一个控件在我的自定义控件上以设计模式放置时,我只需将它放在嵌套的 GroupBox 中. 但我不知道如何让我的控件在设计模式下响应这种操作. 解决方案 也许 ..
发布时间:2022-01-24 21:05:22 C#/.NET

将图像保存到文件

我正在开发一个基本的绘图应用程序.我希望用户能够保存图像的内容. 我认为我应该使用 System.Drawing.Drawing2D.GraphicsState img = drawRegion.CreateGraphics().Save(); 但这并不能帮助我保存到文件. 解决方案 您可以尝试使用这种方法保存图像 SaveFileDialog 对话框=new SaveFile ..
发布时间:2022-01-24 18:14:39 C#/.NET

是否有任何控件或方法可以在 Windows 窗体中使用 DateTime 滑块

我有一个 winForm,其中需要使用可以在 DateTime 上滑动的 Silder,并且网格会根据所选日期刷新. 有没有提供上述功能的控件. 提前致谢. 解决方案 是的,这个控件的名字是 TrackBar.你可以不带标签地使用它: DateTime beginDate =//日期时间 endDate =//datesTrackBar.Maximum = (int)(end ..
发布时间:2022-01-24 17:59:06 C#/.NET

在 C# 桌面应用程序中漂亮的打印数学

在 C# (winforms) 桌面应用程序中打印数学方程式的最佳方法是什么?源的格式并不重要;我可以用一点点努力生成几乎任何东西.重要的是它应该是相对较高的性能和较低的开销(我知道,我应该只选择 {performance, size, features} 中的 2 个,但我想要全部 3 个.) 我考虑过的事情: LaTeX 通过 System.Process() -> dvipng. ..
发布时间:2022-01-24 12:52:28 C#/.NET

如何遍历所有文本框并使它们从动作字典中运行相应的动作?

我有大约 60 个文本框,当每个文本框都有自己的代码部分时,情况就变得一团糟.对于某些事件,动作是相同的,而对于其他事件,可以有一个带有动作的字典.问题是我不知道如何遍历文本框、获取当前文本框引用并运行一些方法来更改当前文本框的文本. UPD: 我要做的是让所有文本框运行 AllTextboxesEnter 方法,该方法将根据文本框的名称更改其文本,运行 AllTextboxesLeave ..
发布时间:2022-01-24 12:19:42 C#/.NET

如何有效地从 TreeView 中删除选中的项目?

如何轻松遍历 TreeView 中的所有节点,检查它们的 .Checked 属性,然后删除所有选中的节点? 这看起来很简单,但您不应该修改您正在迭代的集合,从而消除“foreach"循环的可能性.(.Nodes.Remove 调用正在修改集合.)如果尝试这样做,效果是只有大约一半的 .Checked 节点被删除. 即使要使用两遍:首先创建一个临时索引列表,然后在第二遍中按索引删除 - ..
发布时间:2022-01-24 12:17:14 C#/.NET

DataGridView-当我按下回车键时它转到下一个单元格

我有一个 5 列的 datagridview,当我按下“enter"时,它会转到下一个单元格,当我按下 enter 时它到达行尾时,它会添加一个新行,但我的问题是当我移动时按回车键后到前一行,它会跳转行并且不会转到下一个单元格,有什么帮助吗? public 部分类 Form1 : Form{公共静态int Col;公共静态 int 行;公共表格1(){初始化组件();}私人无效Form1_Loa ..
发布时间:2022-01-23 22:22:49 C#/.NET

如何在 DataGridView 中获取选定的 DataRow?

我有一个绑定到 DataGridView 的 DataTable.我在 DGV 中启用了 FullRowSelect.有没有办法将所选行作为 DataRow 获取,以便我可以对所选行的值进行强类型访问? 解决方案 我不知道如何在没有 BindingSource 的情况下做到这一点,这里是如何做到这一点: var drv = bindingSoure1.Current as DataRow ..
发布时间:2022-01-23 22:15:21 C#/.NET

如何判断用户是否使用 bindingsource 修改了数据?

我有一个绑定到绑定源的 DataGridView,该绑定源绑定到 List.用户单击进入带有文本框等的表单的行.文本框是数据绑定的,如下所示: if (txtID.DataBindings.Count == 0)txtID.DataBindings.Add("文本", bindingSource, "标题"); 我希望能够检测用户在单击关闭按钮时是否修改了控件中的任何数据,因此我可以提示 ..
发布时间:2022-01-23 22:11:41 C#/.NET

在 C# 中创建(按需)SQL Server 2008 Express 数据库的最佳实践?

目的是在全新的 SQL Server 2008 Express 数据库中处理用户的数据(您可以称它们为项目、文档、文件或其他任何内容).预计数据占用的空间比 Express 版本(也可免费分发)提供的 4GB 空间小得多. 例如,每次用户选择 File->New 命令时,都会在指定位置创建一个新的空数据库.另一方面,类似的命令 File->Open 必须支持检索数据库列表以选择打开一个. ..
发布时间:2022-01-23 22:06:25 C#/.NET

每当更新数据库时更新 C# 客户端

我正在使用带有 C#/Visual Studio 2008 的 MySQL.我需要知道任何方法,以便在一个用户更新数据库时,通知所有通过网络登录的用户,通知发生了更改.如果我通过我的应用程序登录数据库,当时数据库中最新记录的序列号是 10,然后我有权限的人更新了数据库中的记录,同时我被通知数据库已更新为新记录.常见的例子是 MSN Messenger 在朋友上线时提醒他...虽然我真的不想要那个弹 ..
发布时间:2022-01-23 21:51:02 C#/.NET

MSI register dll - 自注册被认为是有害的

我有一个 .NET winform 应用程序,它需要在安装过程中注册本机 dll.我的问题是如何将 dll (regsvr32 ABC.dll) 注册为 MSI 安装过程的一部分?同样,如何在卸载过程中取消注册 dll? 解决方案 vsdrfCOMSelfReg 不是最佳实践.请尝试使用 vsdrfCOM.这将从 DLL 中“提取"(或尝试,vdproj 有时是 POS)COM 元数据并将 ..

使用 Mono 将 C# .NET 应用程序移植到 OS X?

好的,伙计们,我正在编写一个我想要跨平台的应用程序.直到最近,我一直在尝试使用 C# 在 Silverlight 中执行此操作,因为它也可以在 OS X 上运行,但由于我对 C# 相当生疏,除了是 Silverlight 的新手之外,我一直头疼又头疼.其中大部分源于旨在在浏览器中运行的应用程序所带来的限制,从我的开发服务器运行与直接从 file://运行时它的运行方式不同等问题. 我宁愿完全 ..
发布时间:2022-01-23 15:30:09 C#/.NET

如何在 macOS 上运行 Windows 窗体应用程序?

是否可以在 macOS 上运行 Windows 窗体应用程序(在 Windows 上使用 Visual Studio 开发)? 需要什么?它是免费的还是我必须购买一些东西? 解决方案 是的,有可能.例如,您可以使用 Mono. 什么是 Mono 移植 Winforms 应用程序以在 Mac OS 上运行 ..
发布时间:2022-01-23 15:28:53 C#/.NET