Использование Visual Studio Windows Form Designer для других форм (например, панелей или otner) - PullRequest
0 голосов
/ 29 июня 2018

Я относительно новичок в c # и Visual Studio.

В моем приложении у меня есть TabControl, и пользователь может создать столько страниц TabPages, сколько ему нужно, когда пользователь добавляет страницу, моя программа автоматически создает большое количество элементов управления внутри этой страницы с множеством строк, написанных я.

У меня вопрос: есть ли способ создать мою TabPage во время разработки с помощью Form Designer (как я могу сделать с формами), чтобы код генерировался автоматически? А затем использовать этот «предварительно обработанный» компонент (мой TabPage) с такой строкой?

pag1 = new myCustom_TabPage(...) ?

Я пытался создать класс типа TabPage, как это

public class Vista_Tabulato_Pagina : TabPage
{
    public Vista_Tabulato_Pagina(VISTE vista)
    {
    }

    private void InitializeComponent()
    {
        this.SuspendLayout();
        this.ResumeLayout(false);
    }
}

но когда я нажимаю Shift + F7, чтобы вызвать конструктор, он показывает пустой экран, и когда я помещаю какой-то компонент внутрь, он не будет визуально показывать, что я могу изменить размер ecc, а только блок для всех компонентов (например, когда вы кладете невизуальный компонент внутри дизайнера форм) вы можете щелкать и редактировать свойства, но это все

Спасибо, Лука.

1 Ответ

0 голосов
/ 29 июня 2018

Да! Извините мой VB, создайте класс, который наследуется от TabPage:

Public Class chicken
    Inherits TabPage
    Sub New()
        Me.Controls.Add(New TextBox With {.Text = "Im a textbox!"})
    End Sub
End Class

Затем взломайте файл конструктора, заменив одну из старых страниц TabPages новым классом:

    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.Button1 = New System.Windows.Forms.Button
        Me.TabControl1 = New System.Windows.Forms.TabControl
        Me.TabPage1 = New System.Windows.Forms.TabPage
        Me.TabPage2 = New System.Windows.Forms.TabPage
        Me.TabPage3 = New chicken
        … etc

Затем после перестройки он появится в конструкторе, и можно добавить еще, просто:

Me.TabControl1.Controls.Add(New chicken)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...