Καλημέρα σε όλους!!!
Δουλεύω ένα
UserControl σε VB.NET (VS2017) και ψάχνω έναν τρόπο έτσι ώστε να αποτρέπω τον προγραμματιστή να
το τοποθετήσει σε μία φόρμα πάνω από μία φορά, σε
Design Time. Με άλλα λόγια, θέλω μέσω του κώδικα μου σε Design Time, να εντοπίσω
αν το UserControl μου έχει ήδη τοποθετηθεί σε κάποιο ParentForm ή όχι και να αποτρέψω τη δεύτερη τοποθέτηση εάν υπάρχει ήδη.
Προσπάθησα κάτι, σαν αυτό που θα δείτε στο παράδειγμα παρακάτω... Αλλά δεν είμαι σίγουρος αν
αυτός είναι ο "σωστός" τρόπος και δεν μπορώ να βρω πώς να
αφαιρέσω ή να σταματήσω την τοποθέτηση του UserControl.
Και πάλι, όλα αυτά, σε Design Time!!!
Private Sub MyUserControl_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim _Count As Integer
Dim _UserControl As MyUserControl
For Each _UserControl In Me.ParentForm.Controls
If _UserControl.Name.Contains("MyUserControl") Then
_Count += 1
End If
Next
If _Count > 1 Then
MsgBox("Control have been placed.")
Else
MsgBox("Control haven't placed yet.")
End If
End Sub
Η μετριότητα είναι ο μεγαλύτερο εχθρός μου!!!