Это, вероятно, простое решение, но я не могу обойти его.Подсчитайте количество динамически сгенерированных страниц
У меня есть страницы, которые динамически сгенерированы, и я рассчитываю страницы, которые должны быть сгенерированы с помощью оператора LINQ (например): (ЭТО ОБНОВЛЕННЫЙ КОД, чтобы показать, где вызывается questionCount и установлен ли _labelQuestionCount - это фрагмент из большого метода, который dynamicaly генерируемой все страницы и установить все элементы управления в динамических страниц)
using (DataClasses1DataContext db = new DataClasses1DataContext())
{
int questionsCount = (from q in db.vw_Custom_SelectQuestionnaireQuestions
select q.tbl_QuestionnaireQuestion_Description).Count();
_labelQuestionCount = questionsCount.ToString();
}
Label labelCount = new Label();
labelCount.ForeColor = Color.Blue;
labelCount.Location = new System.Drawing.Point(35, 290);
labelCount.Size = new System.Drawing.Size(150, 30);
labelCount.Tag = _dataSetRadioButtons.Tables["tbl_QuestionnaireAnswer_Score"];
labelCount.Text = String.Format("Question Count: {0}", _labelQuestionCount);
Вот глобальная переменная:
string _labelQuestionCount;
причина этого заключается в том, что я щелкаю через динамически созданных страниц, я хотел бы "посчитать «так, чтобы в моем событии« следующая кнопка »я узнал, что страница x - это моя последняя страница, и я могу перемещаться/выполнять другой код.
Текущий код следующей кнопки: (ОБНОВЛЕНО)
void nextButton_Click(object sender, EventArgs e)
{
bool c = IsChecked(_form);
if (c == true)
{
var w = Convert.ToInt32(_labelQuestionCount);
_form.Dispose();
w--;
if (w == 0)
{
//go to another page or do something else
}
}
else
{
MessageBox.Show("You must select at least one.");
}
}
Как вы можете видеть, что я пытаюсь и значение из глобальной переменной (например, __labelQuestionCount
) и попытаться посчитать его «вниз», пока не дойдете до 0 и сделать что-то еще.
Но, поскольку мои страницы генерируются динамически, я никогда не добраться до 0.
Это, вероятно, неправильный способ пойти об этом, так что если кто-то может предложить или помочь ему было бы весьма признателен.
С наилучшими пожеланиями, geoNeo
Дружественное предложение, не используйте однобуквенные переменные, и нет необходимости проверять логическое значение для true. I.e., если вы напишете 'bool formIsChecked = IsChecked (_form); if (formIsChecked) {var labelCount = ... 'это более читаемо для вас и других. – Abel
извините abel его просто тестовое приложение, но спасибо за предложение, запомните его для будущих сообщений :) –