при создании словарной программы. при использовании копирования текста в буфер обмена он будет давать значения скопированного текста в форме, видимой в системе. Я хочу закрыть форму, когда пользователь нажимает любое место на своем экране. но если пользователь хочет скопировать некоторый текст из значений из не будет закрыт, я добавил больше, чем один динамически созданный richtextboxes в элементе управления вкладкой, чтобы показать количество значений. мой код отлично работает, если пользователь прокрутит форму richtextboxes, закроется сама. похоже, полосы прокрутки не являются частью richtextbox. Помогите мне решить эту проблему, мой код ниже.Проверьте, если динамически созданный richtextbox не находится в фокусе
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
== Обновление ==
я есть Form1, который содержит этот код для добавления richtextboxes и вкладки в tabcontrl
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
это программа для словарей и несколько богатых текстовых боксов, которые динамически созданы, поэтому я не знаю их имен. И thery встроены в элемент управления tabl, поэтому iam не могут получить их имена. – user934820
@ user934820 Вы имеете в виду все элементы управления RTF в элементе управления TableLayoutPanel? – LarsTech
no in tabcontrol "TabControl1" – user934820