想對一個控件進(jìn)行擴(kuò)展,不知道如何才能在這個控件內(nèi)定義的控件顯示在這個控件的外面。。
2 回答

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個贊
猜測你是在問WinForm下面的自定義控件吧?
WinForm下的一個控件,對應(yīng)一個Win32的Window Handle,它們有嚴(yán)格的父子關(guān)系。子Window會被父Window裁剪。因此,你不可能讓一個控件畫出他的父控件。
對于大多數(shù).NET Control(Form也是一個Control),都有Paint事件,你可以掛接這個事件,在其它控件的上進(jìn)行繪畫。比如,你可以通過FindForm方法,找到當(dāng)前控件所在Form,然后,掛接Paint事件,在Form上畫東西??雌饋砭拖袷悄惝嫵隽俗约旱母敢粯?。
如果你想畫出Form,你就只有再開一個Form,把所有的邊框統(tǒng)統(tǒng)去掉,設(shè)置TransparentKey為窗口的背景色。然后在上面繪畫??雌饋砭拖癞嫷紽orm外面去了。但是,這些新畫上去的東西可能會影響你的鼠標(biāo)和鍵盤消息。解決這些問題,就需要更高級的實(shí)現(xiàn)了。就不多說了。
- 2 回答
- 0 關(guān)注
- 545 瀏覽
添加回答
舉報
0/150
提交
取消