辞書プログラムを作成する場合。クリップボードにテキストをコピーすると、コピーされたテキストの意味が、システムの試行時に表示される形式で表示されます。ユーザーが画面上の任意の場所をクリックしたときにフォームを閉じたい。しかし、ユーザーが意味からいくつかのテキストをコピーしたい場合は、意味の数を表示するためにタブコントロールに動的に作成されたリッチテキストボックスを複数追加しました。私のコードは、ユーザーがリッチテキストボックスフォームをスクロールすると、1つのことを受け入れてうまく機能しています。スクロールバーはリッチテキストボックスの一部ではないようです。この問題を解決するのを手伝ってください。私のコードは以下です。
Dim s As Boolean = True
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If MouseButtons.ToString = "Left" Or MouseButtons.ToString = "Right" Then
If s = True Then
If InStr(LCase(Me.ActiveControl.ToString), LCase("Label")) Then
Me.Close()
End If
End If
End If
End Sub
Private Sub Label1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Label1.Click
Me.Close()
End Sub
Private Sub frmdict_MouseEnter(ByVal sender As Object, ByVal e As EventArgs) Handles Me.MouseEnter
s = False
Button1.Focus()
End Sub
Private Sub frmdict_MouseLeave(ByVal sender As Object, ByVal e As EventArgs) Handles Me.MouseLeave
s = True
Label1.Focus()
End Sub
==アップデート==
私はリッチテキストボックスとタブをtabcontrlに追加するためのこのコードを含むform1を持っています
Dim myTabPage As New TabPage()
Dim myrichtext As New RichTextBox()
myrichtext.Name = "RichTextBox" & i
myTabPage.Text = StrSearch & i
frmdict.TabControl1.TabPages.Add(myTabPage)
myTabPage.Controls.Add(myrichtext)
myrichtext.RightToLeft = Windows.Forms.RightToLeft.No
myrichtext.Dock = DockStyle.Fill
myrichtext.Font = New Font("Urdulink", 14)
最後に frmdict を開いて意味を表示する
If frmdict.TabControl1.TabPages.Count > 0 Then
frmdict.TabControl1.RightToLeftLayout = True
frmdict.Show()
frmdict.Label1.Focus()
' frmdict.TabControl1.Focus()
Else
frmdict.Close()
End If