Simonetos The Greek Ответов: 1

Как сообщить пользователю сообщение, когда он собирается использовать usercontrol в форме без границ?


Я работаю с Visual Studio 2017 и я должен создать UserControl что требует а бескаркасная форма. Есть ли какой-нибудь способ всплывающего окна a сообщение если пользователь попытается это сделать место этот контроль превращается в форма без границ Что-то вроде окна сообщения, которое появляется в режиме конструктора, когда мы даем неправильное значение в "окне свойств" любого элемента управления.

Что я уже пробовал:

Я заметил, что если я добавлю простой MsgBox на мой UserControlPublic Sub New а потом поместите вот это UserControl в Form, окно сообщения появится сразу же после размещения.
Public Sub New()
    InitializeComponent()
    MsgBox("Test Message")
End Sub

Но как я могу также проверить, если ParentForm это без границ или нет? Что-то вроде этого примера ниже, который, конечно же, не работает внутри Public Sub New потому что его нет ParentForm и все же!!!
Public Sub New()
    InitializeComponent()
    if Not MyBase.ParentForm.FormBorderStyle = FormBorderStyle.None Then
        MsgBox("Test Message")
    End If
End Sub

1 Ответов

Рейтинг:
5

Simonetos The Greek

После некоторых тестов мне удалось решить ее. В UserControlLoad событие (где ParentForm приемлемо), я сначала проверяю, если UserControl в DesignMode (иначе пользователь будет получать сообщения каждый раз, когда приложение запускается), а затем, если ParentForm не является FormBorderStyle.None, пользователь информирован a MessageBox.

Private Sub UserControl_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    If Not Site Is Nothing AndAlso Site.DesignMode Then
        If Not ParentForm.FormBorderStyle = FormBorderStyle.None Then
            MsgBox("Blah blah blah...")
        End If
    End If
End Sub