我希望能够设计一些类似于您在 Visual Studio 中遇到异常时所看到的东西,一种窗口,用一条线将窗口连接到代码窗口中的一个点.我在下面附上了一张图片:
我注意到每当代码窗口失去焦点时,异常窗口就会消失。不过,当聚焦时,我可以四处移动窗口,箭头继续指向目标。
这是怎么做到的?具体来说,如何从一个窗口画一条线到另一个窗口?
我使用 C# 编写代码并使用 Windows 窗体。
最佳答案
在您的示例中,如果文本框失去焦点,带有异常的窗口不会总是消失!
通过使用 Spy++ 工具稍微调查一下(将查找窗口光标正好放在该行上),您会注意到您在黄色文本和异常窗口之间看到的行包含在一个窗口(具有透明背景)中)(在 VS 2010 中有一个类型为“WindowsForms10.Window.8.app.0.34f5582_r41_ad1”的类窗口)。此窗口也具有 WS_POPUP 样式,并且是该行的精确边界框(其大小和位置完全适合该行)。
所以你可以做同样的事情:创建一个透明的弹出窗口,在它上面画一条线并设置它的位置和大小,使这条线出现在你想要的控件之间。
关于c# - 如何创建一个带有指向另一个窗口的箭头的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5622955/