簡體   English   中英

.NET:僅繪畫(剪切)控件的一部分?

[英].NET: Painting (clipping) only part of a control?

我有一個VB.NET程序,其中使用WebBrowser控件模擬時間表表單。 對於數據輸入,我使用位於WebBrowser控件頂部的DateTimePicker控件,該控件已編程為在單擊WebBrowser控件時移至WebBrowser控件中表格單元格的頂部。 (如果您想問為什么我不使用DataGridView,那是出於格式化目的)

我的問題是,我想將WebBrowser的某些部分(標題,滾動條)視為在DateTimePicker之上,尤其是在用戶滾動WebBrowser時。 我的想法是以某種方式為DateTimePicker提供一個矩形,這將使其僅繪制該區域內控件的一部分。 不幸的是,我幾乎對.NET完全陌生(但總體上不是編程),並且在搜索了半天之后,我仍然不知道該怎么做。

有誰知道該怎么做,可以告訴我/指出要向我展示的地方嗎?

我認為您正在尋找Control.Invalidate方法。

但是在重新閱讀了您的問題之后,我不確定。 也許您正試圖使DateTimePicker被WebBrowser控件的邊界剪切。在這種情況下,您需要確保將DateTimePicker添加到WebBrowser的Controls集合中。

我通過使用WebBrowser,DateTimePicker和Button創建一個表單來運行一個簡單的測試。 將此代碼放在按鈕的Click事件中:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    WebBrowser1.Controls.Add(DateTimePicker1)
End Sub

如果進行設置,使DTP擴展到WebBrowser的邊緣,則單擊該按鈕后,它將被裁剪。 它移動的原因是它相對於容器的位置,一旦單擊按鈕,它便成為WebBrowser。

JeffK:我只是嘗試將DTP添加到WebBrowser的控件集合中,但DTP仍顯示在WebBrowser的滾動條和表頭的上方(表頭是固定位置的HTML元素)。 您有什么想法可以防止這種情況發生嗎?

肖恩:不,在您提到WPF之前,我實際上從未聽說過。 您是否有指向我可以在其中了解更多信息/如何使用它的良好鏈接?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM