我希望能夠設計一些東西類似當你在Visual Studio中遇到一個異常時,你會看到一個窗口,這個窗口有一條連接窗口和代碼窗口中某一點的線。我已經包括這個下面的圖片:如何創建一個箭頭指向另一個窗口的窗口?
我注意到,每當代碼窗口失去焦點,除了窗口消失。但是,當我專注時,我可以移動窗口,箭頭繼續指向目標。
這是怎麼做的?具體來說,我怎樣才能從一個窗口畫線到另一個窗口?
我使用C#編碼並使用Windows窗體。
我希望能夠設計一些東西類似當你在Visual Studio中遇到一個異常時,你會看到一個窗口,這個窗口有一條連接窗口和代碼窗口中某一點的線。我已經包括這個下面的圖片:如何創建一個箭頭指向另一個窗口的窗口?
我注意到,每當代碼窗口失去焦點,除了窗口消失。但是,當我專注時,我可以移動窗口,箭頭繼續指向目標。
這是怎麼做的?具體來說,我怎樣才能從一個窗口畫線到另一個窗口?
我使用C#編碼並使用Windows窗體。
在你的例子中,如果文本框失去焦點,有例外的窗口不會總是消失!
通過調查一下Spy ++工具(將查找窗口光標準確地放在行上),您會發現在黃色文本和異常窗口之間看到的那一行包含在一個窗口中(透明背景)(在VS 2010中有類型爲「WindowsForms10.Window.8.app.0.34f5582_r41_ad1」的類窗口)。此窗口也具有WS_POPUP樣式,並且是該行的確切邊界框(其大小和位置完全符合該行)。
所以,你可以做同樣的事情:建立一個透明的彈出窗口,使該行出現你想要的控件之間畫上一條線,並設置其位置和大小。
我不知道它究竟是如何做到的,但你可以做這樣的想法類似的東西。
這與Andrei的解決方案基本相同。重點不是什麼問題,但是我注意到了這一點,並且認爲我應該提及它。 – 2011-04-11 15:47:46
@damn - 他必須輸入速度比我 – WraithNath 2011-04-11 15:49:01
他也得到點使用間諜++;) – 2011-04-11 15:53:04
這使得從Windows API角度看,最感。另外,巨大的投資igative技術! – 2011-04-11 15:36:10