0

WebBrowser コントロールを使用してタイムシート フォームをシミュレートする VB.NET プログラムがあります。データ入力のために、WebBrowser コントロールの上にある DateTimePicker コントロールを使用しています。これは、WebBrowser コントロールがクリックされたときに WebBrowser コントロールのテーブルのセルの上に移動するようにプログラムしました。(私が DataGridView を使用していない理由を知りたい場合は、書式設定のためです)

私の問題は、特にユーザーが WebBrowser をスクロールしているときに、DateTimePicker の上にあるものとして扱いたい WebBrowser (ヘッダー、スクロールバー) の部分があることです。私の考えは、DateTimePicker に四角形を提供して、その領域内にあるコントロールの部分のみを描画することです。残念ながら、私は .NET にほとんど慣れていません (ただし、一般的なプログラミングではありません)。半日かけてグーグルで検索した後でも、その方法がわかりません。

これを行う方法を知っている人はいますか?

4

2 に答える 2

2

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 の端からはみ出すように設定すると、ボタンをクリックすると、DTP が切り取られることがわかります。移動する理由は、ボタンをクリックすると WebBrowser になるコンテナーに対して相対的に配置されるためです。

于 2009-02-17T02:20:45.890 に答える