草庐IT

C# winform 检查控件是否物理可见

是否可以确定控件的至少一个像素是否可见(通过属性或可能使用事件通知)。注意:我不是在寻找即使其他窗口隐藏控件也可以返回true的Visible属性 最佳答案 实用的解决方案是使用窗体的GetChildAtPoint()方法,传递控件的4个角。如果其中之一返回true,则该控件绝对可见。它不是100%可靠的,所有4个角都可能被另一个控件重叠,但仍然保留部分内部可见。我不会担心那个,太奇怪了。publicboolChildReallyVisible(Controlchild){varpos=this.PointToClient(chil

C# WinForms 在 TreeView 没有焦点时突出显示树节点

我正在制作一个界面来编辑游戏场景。它基本上由具有嵌套条件和Action的事件组成。因此,我计划使用两个TreeView-一个用于选择事件,另一个用于选择要编辑的事件内的条件/操作。现在,您看,如果我选择一个事件(在左侧TreeView中),然后尝试在右侧TreeView中选择某些内容,左侧TreeView将停止显示蓝色选择矩形。这显然很糟糕,因为现在用户不知道他正在编辑哪个事件!我发现保留有关当前选择内容的某种信息的唯一方法是使用SelectedImageIndex,但这只是一张不同的小图像。有没有其他方法可以在TreeView上没有焦点的情况下突出显示树节点?我知道我可以只使用Gra

c# - Winforms调用async方法挂掉程序

我已经解决这个问题一段时间了,但现在我真的很想知道哪里出了问题。我有一个相当简单的应用程序(它是一个用于youtrack的turtoiseSVN插件,但我可以使用一个简单的winforms应用程序重现该问题)。我有一个异步方法ResolveIssuepublicasyncTaskResolveIssue(Issueissue,intrevision,string[]pathList){awaitTask.Delay(1000);returntrue;}要创建死锁,我要做的就是在Button事件处理程序中调用此异步方法,然后调用Task.Wait或Task.Result,像这样priva

c# - 更新新项目时如何在WinForms ListView控件中自动向下滚动?

ListView控件如何在更新新项时自动向下滚动?我试过了listView1.Focus();listView1.Items[listView1.Items.Count-1].Selected=true;但这不起作用。 最佳答案 尝试listView1.Items[listView1.Items.Count-1].EnsureVisible(); 关于c#-更新新项目时如何在WinFormsListView控件中自动向下滚动?,我们在StackOverflow上找到一个类似的问题:

c# - 如何在 WPF 或 WinForms 中呈现公式

2018年更新长话短说;用于WPF的latexhttps://github.com/ForNeVeR/wpf-math原始问题我需要一种在Windows窗体或WPF中绘制数学公式的方法。一些“FormulaTextBox”控件正是我所需要的。我不是在问LaTEX的完整实现,但至少是RichTextBox可能性之外的东西,包括分割线、平方根等。 最佳答案 这是从几个在线网页中提取的选项列表,以及一个fewsimilarquestions就这样WPF-Math,一个用于呈现与数学相关的TeX标记的WPF库。gNumerator是呈现Ma

c# - winforms html 编辑器

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion任何人都知道适用于.NET的优秀免费winformshtml编辑器。理想情况下,我想要html和预览模式以及导出为pdf、worddoc或类似文件的可能性。尽管我可以从html输出中创建自己的导出。另一个不错的功能是从word中粘贴,它会删除您通常会得到的所有额外标签,但同样,没有必需的标签也很好。

c# - Winforms 文本框 - 使用 Ctrl-Backspace 删除整个单词

我有一个Winforms对话框,在其他控件中包含一个允许单行输入的文本框。我想让用户能够按Ctrl-Backspace键删除整个单词。这不是开箱即用的TextBox的默认行为;我得到一个rectangle字符,而不是删除这个词。我已确认ShortcutsEnabled属性设置为True。我确实发现我可以使用RichTextBox而不是TextBox来获得我想要的行为。问题在于RichTextBox的外观(特别是边框)与TextBox的外观不同,我不需要或不希望能够标记文本。所以我的问题是如何最好地处理这种情况?我缺少TextBox上的某些属性吗?还是最好使用RichTextBox,更新

c# - 更改 WinForms RichTextBox 中文本的颜色

这个问题在这里已经有了答案:ColordifferentpartsofaRichTextBoxstring(10个答案)关闭6年前。我有一个RichTextBox,每次单击表单按钮时我都会向它写入一个字符串。每个字符串都以字符串“Long”或“Short”开头,并以换行符结尾。每次我添加一个字符串时,它都会附加到RichTextBox的底部。如果它以“长”开头,我想将每条线涂成红色,如果它以“短”开头,我想涂成蓝色。我该怎么做?

c# - WinForms:暂时禁用事件处理程序

如何在WinForms中临时禁用事件处理程序? 最佳答案 可能,最简单的方法(不需要取消订阅或其他东西)是声明一个bool值并在处理程序的开头检查它:booldontRunHandler;voidHandler(objectsender,EventArgse){if(dontRunHandler)return;//handlerbody...} 关于c#-WinForms:暂时禁用事件处理程序,我们在StackOverflow上找到一个类似的问题: https

c# - 如何以编程方式获取 .Net WinForms 控件的屏幕截图?

如何以编程方式获取.Net控件的图片? 最佳答案 每个控件上都有一个名为DrawToBitmap的方法.您不需要p/invoke来执行此操作。Controlc=newTextBox();System.Drawing.Bitmapbmp=newSystem.Drawing.Bitmap(c.Width,c.Height);c.DrawToBitmap(bmp,c.ClientRectangle); 关于c#-如何以编程方式获取.NetWinForms控件的屏幕截图?,我们在StackOve