我希望能够设计类似于在Visual Studio中获得异常时所看到的内容,这是一种窗口,其中一行将窗口连接到代码窗口中的一个点.我在下面列出了一张图片:
我注意到,只要代码窗口失去焦点,异常窗口就会消失.但是,当聚焦时,我可以移动窗口,箭头继续指向目标.
这是怎么做到的?具体来说,我如何从一个窗口到另一个窗口画一条线?
我正在使用C#进行编码并使用Windows Forms.
解决方法
在您的示例中,如果文本框失去焦点,则具有异常的窗口不会总是消失!
通过使用Spy工具稍微调查一下(将查找窗口光标准确地放在行上),您会注意到在黄色文本和异常窗口之间看到的行包含在窗口中(具有透明背景)( VS 2010中类型为“WindowsForms10.Window.8.app.0.34f5582_r41_ad1”的类窗口.此窗口也具有WS_POPUP样式,并且是该行的精确边界框(其大小和位置恰好与该行完全匹配).
所以你可以做同样的事情:创建一个透明的弹出窗口,在其上画一条线并设置它的位置和大小,以便在你想要的控件之间出现这条线.