草庐IT

Winforms

全部标签

c# - 如何在 C# 中旋转标签?

这个问题在这里已经有了答案:C#verticallabelinaWindowsForms(9个回答)关闭8年前。我想显示一个旋转90度的标签(这样我就可以将它们放在表格的顶部作为标题)。有没有简单的方法可以做到这一点?

c# - WinForms ListView,在重新加载时记住滚动位置

我有一个ListView,其中填充了8列用户数据。用户可以选择启用自动刷新,这会导致ListView被清除并重新填充数据库中的最新数据。问题是当项目被清除并重新填充时,可见区域跳回到列表的顶部。因此,如果我正在查看2000项中的第1000项,返回到该项目非常不方便。基本上,我要问的是,如何获取当前的滚动距离(x和y)然后恢复它们? 最佳答案 我只是想为那些拼命尝试使用有问题的ListView.TopItem属性的人提供一些信息:您必须在调用ListView.EndUpdate后设置TopItem属性ListView控件的项目必须将它

c# - 如何在 C# 中正确关闭 winforms 应用程序?

我从调试文件夹为我的程序运行了.exe。它工作正常,但是当我关闭它时,我发现它仍然列在任务管理器的进程列表中。我想我一定是忘记了一个步骤,因为这是我的第一个winforms程序。 最佳答案 只要您的Main方法中的代码如下所示:Application.Run(newMainForm());那么您应该没问题(假设“MainForm”是您的主窗体的名称)。当您传入Application.Run的表单关闭时,WinForms将退出进程。否则,您可以在表单的“Closed”事件处理程序中自行调用Application.Exit()。

c# - 从 Windows 中选择声音并播放

我有一个WinForms应用程序。此应用程序有一个首选项部分,用户可以在其中选择显示警报时播放的声音。是否可以有一个组合框,用户可以在其中选择Windows存储的声音,例如“紧急停止”、“紧急哔哔声”等。这些位于“控制面板”>>“声音和警报”部分。是否也可以有一个播放按钮来测试声音? 最佳答案 您不需要任何API来播放系统声音,只需编写如下代码://PlaysthesoundassociatedwiththeAsterisksystemevent.System.Media.SystemSounds.Asterisk.Play();S

c# - 在c#中画线

我是c#的新手,我正在努力在表格中画一条线。这是我到目前为止的代码。Graphicsg;g=this.CreateGraphics();PenmyPen=newPen(Color.Red);myPen.Width=30;g.DrawLine(myPen,30,30,45,65);g.DrawLine(myPen,1,1,45,65); 最佳答案 在OnPaint中尝试一下protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);Graphicsg;g=e.Graphi

c# - 自定义工具错误 : Failed to generate file

我正在开发一个在VS2012(Framework4.5)windows窗体中创建的windows应用程序(C#)。要求要求它用于旧版本的Windows,因此我将目标框架设置为.NETFramework4并将平台目标设置为x86。一旦完成并尝试编译,我会收到以下错误:Customtoolerror:Failedtogeneratefile:Theservicereferenceisnotvalidforthecurrent.NETFrameworkversionorprojecttype.Youcanchangetheservicereferenceconfigurationinthe.

c# - 连续打字时不要引发 TextChanged

我有一个文本框,它有一个相当庞大的_TextChanged事件处理程序。在正常打字条件下,性能还可以,但当用户执行长时间的连续操作时,性能会明显滞后,例如按住退格键一次删除大量文本。例如,事件用了0.2秒完成,但用户每0.1秒执行一次删除。因此,它无法catch,并且需要处理的事件会积压,从而导致UI滞后。但是,事件不需要为这些中间状态运行,因为它只关心最终结果。有什么方法可以让事件处理程序知道它应该只处理最新的事件,而忽略所有以前的陈旧更改? 最佳答案 这个问题我遇到过好几次,根据我自己的经验,我发现这个解决方案到目前为止简单明了

c# - C# 中 Windows 窗体应用程序的 session

是否有针对基于Windows的C#应用程序的session,以便记录多个用户登录和注销的详细信息?我尝试使用声明静态变量,但它与session不同。 最佳答案 Windows窗体中没有session变量的概念。你可以这样做:创建一个静态类,用于保存用户名和密码以及整个应用程序所需的任何其他变量。在你的情况下它会是这样的:publicstaticclassLoginInfo{publicstaticstringUserID;}现在您可以从代码中的任何位置访问UserID:MessageBox.Show(LogInfo.UserID);

c# - 在新 TAB 中打开链接(WebBrowser 控件)

有人知道如何在WinForms应用程序中单击WebBrowser控件中的链接,然后在我的TabControl中的新选项卡中打开该链接吗?我已经搜索了几个月,看过很多教程/文章/代码示例,但似乎以前没有人在C#中尝试过这个。非常感谢任何建议/sample。谢谢。 最佳答案 根据您的评论,我了解到您想要捕获WebBrowser控件的“在新窗口中打开”操作,并覆盖默认行为以改为在应用程序内的新选项卡中打开。要可靠地完成此操作,您需要获取NewWindow2事件,该事件公开ppDisp(指向应打开新窗口的WebBrowser控件的可设置指针

c# - 使 dataGridView 大小适合行和列的总大小

我想使dataGridView的大小适合列和行的总大小。关于总高度,我设法让它适合列的高度:constintdatagridLines=30;s.Height=dataGridView2.Columns[0].HeaderCell.Size.Height;for(bytei=0;i我尝试了一些方法来适应宽度,但没有成功。有什么建议吗?谢谢。 最佳答案 这应该有效:intheight=0;foreach(DataGridViewRowrowindataGridView1.Rows){height+=row.Height;}height