#c#
#c#
Вопрос:
Я создал объект в on event, теперь я хочу, чтобы другое событие получило к нему доступ. Как мне это сделать?
Я делаю это в Visual Studio 2010.
У меня есть форма, в которой есть три события кнопки. Первая кнопка создает объект. Я хочу, чтобы вторая кнопка использовала объект. Как мне это сделать?
public void buttonCreate_Click(object sender, EventArgs e)
{
int size;
int sizeI;
string inValue;
inValue = textBoxSize.Text;
size = int.Parse(inValue);
inValue = comboBoxSizeI.Text;
sizeI = int.Parse(inValue);
Histrograph one = new Histrograph(size, sizeI);
}
public void buttonAddValue_Click(object sender, EventArgs e)
{
int dataV = 0;
string inValue;
inValue = textBoxDataV.Text;
dataV = int.Parse(inValue);
one.AddData(dataV); //using the object
}
Комментарии:
1. Не могли бы вы быть немного конкретнее?
2. 1 за улучшение.
Ответ №1:
Если я правильно проанализирую ваш вопрос, вы хотите использовать one
переменную, созданную в buttonCreate_Click
в buttonAddValue_Click
.
Для достижения этого вам нужно создать one
переменную класса, как в:
class MyForm : Form
{
Histogram one;
public void buttonCreate_Click(object sender, EventArgs e)
{
int size;
int sizeI;
string inValue;
inValue = textBoxSize.Text;
size = int.Parse(inValue);
inValue = comboBoxSizeI.Text;
sizeI = int.Parse(inValue);
one = new Histrograph(size, sizeI); // NOTE THE CHANGE FROM YOUR CODE
}
public void buttonAddValue_Click(object sender, EventArgs e)
{
int dataV = 0;
string inValue;
inValue = textBoxDataV.Text;
dataV = int.Parse(inValue);
one.AddData(dataV); //using the object
}
Ответ №2:
Вы можете выполнить это, используя закрытую переменную в отличие от локальной переменной
//Declare a private variable
private object _myObject
public void Event1Handler(object sender, EventArgs e)
{
//Create the object
_myObject = CreateTheObject();
}
public void Event2Handler(object sender, EventArgs e)
{
//Use the object
UseTheObject(_myObject);
}
Комментарии:
1. Куда мне поместить строку «частный объект _myObject»?
2. внутри тела объявления класса