Я пытаюсь написать свою первую программу на C # без использования учебника. Чтобы с самого начала использовать хорошие методы кодирования, я хочу создать каждый класс в отдельном файле .cs. Однако у меня возникают некоторые проблемы при попытке доступа к элементам программы в таком файле .cs.
Например, у меня есть Form1.cs с меткой и кнопкой «Пуск». При нажатии на кнопку запуска, текст должен появиться в метке. Итак:
В Form1.cs У меня есть:
namespace TestProgram
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void startButton_Click(object sender, EventArgs e)
{
WriteToLabel message = new WriteToLabel();
message.WelcomeMessage();
}
}
}
И в моем отдельном WriteToLabel.cs файле:
namespace TestProgram
{
public class WriteToLabel
{
public void WelcomeMessage()
{
Form1 myForm = new Form1();
//myForm.. --> myForm doesn't have an 'outputLabel'?
outputLabel.Text = "Welcome!"; // This returns an error: 'The name outputLabel does not exits in the current context'.
}
}
}
'outputLabel' - это (Имя), которое я дал метке, и это соответствует имени в Form1.Designer.cs.
Оба файла используют одни и те же компоненты, такие как «using System»;
Однако из моего файла WriteToLabel.cs я не могу получить доступ к Форме, содержащей мою программу. Мне удалось создать различные файлы .cs в консольном приложении, что только добавило мне путаницы. Итак, у меня два вопроса:
Первый , как я могу получить доступ к Форме из отдельного класса (т.е. не частичного класса) в отдельном файле?
Второй , это хороший способ сделать это или неэффективно создавать несколько экземпляров разных классов?
Любые мысли или идеи приветствуются
С уважением,