Добавление элементов в форму программно - PullRequest
0 голосов
/ 06 февраля 2019

Я пишу код на C # в Ubuntu и компилирую с помощью CSC-компилятора, так как мне нужно использовать Windows. Формы Я не использую Visual Studio IDE, я пишу код только в обычном редакторе.Базовая функция ShowDialog () в классах, расширяющих Form, работает нормально.Однако, когда я пытаюсь добавить к нему элементы с помощью Controls.Add (), компилятор показывает следующую ошибку: SpanHelpers.Add<T>(IntPtr, int)' is inaccessible due to its protection level Как получить доступ к этой конкретной функции?И что я делаю не так?

Мой код:

using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;

namespace helloWorld
{
    class first
    {
        public static void Main(string[] args)
        {
            FormsSample forms = new FormsSample();
        }
    }


    public partial class FormsSample : Form
    {
        private FolderBrowserDialog fbd;

        private void InitializeComponents()
        {
            this.Controls.Add<FolderBrowserDialog>(fbd);
        }
        public FormsSample()
        {
            fbd = new FolderBrowserDialog();
            InitializeComponents();
            this.Name = "Folder Browser";
            this.AutoScaleDimensions = new SizeF(6F, 13F);
            this.ClientSize = new Size(1000, 500);
            this.CenterToScreen();
            ShowDialog();
        }
    }
}

1 Ответ

0 голосов
/ 06 февраля 2019

Control.ControllCollection не определяет общий метод Add<T>.Кажется, вы пытаетесь сослаться на непубличный метод расширения.

Вы должны изменить свой код так, чтобы он просто использовал Add:

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