我需要一个精简的TextBox解决方案。RichTextBox被证明太慢了,所以我想采用所有者绘图或自定义控件构建的方式。我需要一个可以处理大文本内容并通过在单词或单个字符周围绘制彩色背景来提供简单突出显示的文本框。重要的是,文本字符串本身不包含标记,而是单独存储要标记的单词的索引。相对于文本字符串开头的索引(在谈论.NETTextBox时也称为Text属性)。我认为它必须涉及在我自己的控制下绘制文本,因为Windows编辑控件将无法执行我需要的操作。我的应用程序是Windows窗体。制作这样的控件的正确方法是什么,有没有例子?能否在.NET下进行快速控制?(已经假设需要本地API调用
这个问题在这里已经有了答案:IrregularshapedWindowsForm(C#)(2个答案)关闭9年前。如何使用WinForms和C#创建不规则形状的窗口?
我正在开发一个WinForm应用程序,它允许使用“项目”(将应用程序视为VisualStudio,将项目视为VS解决方案)。我的问题是-应用程序应将其日志文件保存在哪里?一些要求包括:应用程序可能未以管理员身份运行(因此保存在%ProgramFiles%安装文件夹中不是一个好的选择)日志应该可供最终用户访问(以供查看或发送给支持团队)。(这意味着很难找到文件夹,例如%AppData%\Company\Application\Version\ProjectName...也不是一个好的解决方案)即使没有打开的项目,应用程序也可能会生成日志(因此只有在有项目时,将日志保存在项目文件夹中才有用
这个问题在这里已经有了答案:Customtitlebars/chromeinaWinFormsapp(6个答案)关闭7个月前。我正在创建一个C#WinForms应用程序。我想要一个自定义表单边框。我想创建一个像AdobeLightroom一样的黑色自定义窗口(带有边框和控件)。例如-我如何创建它,请帮助?
我有一个WinForms应用程序需要根据其运行的操作系统以特定方式(特别是特定安装程序的shell)运行。我正在使用System.OperatingSystem类,并结合了PlatFormID、Major、Minor和Build编号,这可以帮助您完成大部分工作。不幸的是,OperatinSystem对象的属性不允许您准确地区分某些平台。例如。Vista和WindowsServer2008,或Vista32位和Vista64位。同样,XP64位专业版似乎具有与Server2003相同的版本控制信息。那么是否可以通过WinForms应用程序(使用c#)准确确定您正在运行的Windows操作
我想知道是否有可能与我的程序中的其他程序进行交互。例如,单击另一个程序上的按钮等等。我不确定这是否可行,但如果可行,有人可以用C#提供一些示例代码。谢谢 最佳答案 您可以只创建消息并将其发送到其他进程。您必须从C#代码为此使用P/Invoke。Here是一些应该指向正确方向的代码。 关于c#-使用C#winforms与Windows中的其他桌面应用程序交互,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我有一个简单的WinForms应用程序,可以修改Windows注册表。问题是在Vista/Windows7中我需要强制用户切换到管理员。我不想强制用户在应用程序启动时以管理员身份运行。我希望他在有必要写入注册表时这样做。最好的情况是当用户需要“切换”到管理员时,出现与许多设置中出现的完全相同的消息,因此没有必要以管理员身份运行表单开始。我如何在.Net中实现这一点? 最佳答案 如果应用程序有时不执行注册表操作而有时执行注册表操作,则分区是可行的方法。分区的三个关键是(1)在第二个exe上有一个list,正如Ho所说,(2)在按钮/菜
有没有人知道一个好的模态窗口控件,有点像在Javascript中使用的控件,但可用于具有透明背景和所有功能的WinForms(C#)。Javascript示例http://okonet.ru/projects/modalbox/有点像ModalCoolFormf=newModalCoolForm();f.ShowDialog(this); 最佳答案 这是一个自定义表单,它可以满足您的需求……根据您的喜好进行更改:publicpartialclassModalLoadingUI:Form{#regionConstantsprivate
我正在尝试将我的Powershell控制台置于最前面,即使它已最小化。我找到了以下代码:functionShow-Process($Process,[Switch]$Maximize){$sig='[DllImport("user32.dll")]publicstaticexternboolShowWindowAsync(IntPtrhWnd,intnCmdShow);[DllImport("user32.dll")]publicstaticexternintSetForegroundWindow(IntPtrhwnd);'if($Maximize){$Mode=3}else{$Mod
背景知识:我主要是一名C++程序员,但我做过的唯一GUI工作是在.NET的WinForms平台上进行的。我对WindowsGUI编程完全陌生,尽管Petzold的书很棒,但我还是非常困惑。即,似乎大多数关于Win32入门的引用资料都是关于绘制直线和曲线之类的东西——我对此(至少目前)并不关心。我需要一个选中的列表框、一个拆分器和一个文本框——这在Winforms领域需要不到10分钟的时间来完成。有人向我推荐使用WTL库,它提供了所有这三个控件的实现——但我一直被一些简单的事情所困扰,比如gettingthecontrolstousetherightfont。,和gettingHighD