Скрыть стандартные свойства формы в VB.Net с помощью интерфейса - PullRequest
0 голосов
/ 17 января 2011

В VBA пользовательская форма может реализовать пользовательский интерфейс, и только свойства, определенные в интерфейсе, будут отображаться в VBA Intellisense для пользовательской формы. Я попытался продублировать эту функциональность в VB.Net (2010), и все базовые свойства формы все еще отображаются.

Public Interface iTest
    Property TestString As String
End Interface

Public Class Form1
    Implements iTest
    Public Property TestString As String Implements iTest.TestString
        Get
            TestString = Me.txtTest.Text
        End Get
        Set(ByVal value As String)
            Me.txtTest.Text = value
        End Set
    End Property
End Class

Ответ на аналогичный вопрос от Ричарда Хейна: здесь , но он для c # и контроля пользователя, и я не могу его преобразовать.

Ответы [ 2 ]

2 голосов
/ 17 января 2011
 Dim itf As iTest = New Form1()
 itf.[and here you'll only see the iTest members show up]
1 голос
/ 17 января 2011

Если вы приведете экземпляр формы непосредственно к вашему Интерфейсу, то у вас будет intellisense только для членов интерфейса.

Например:

Dim f1 As New Form1()
f1.ShowDialog() 'etc will show here
Dim f1AsiTest As iTest = CType(f1, iTest)
f1AsiTest.TestString = "test1" 'only member available

или

Dim f2 As iTest = New Form1()
f2.TestString = "test2" 'only member available
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...