C# 计算动态生成的页面数
这可能是一个简单的解决方案,但我无法理解 我有动态生成的页面,我计算需要通过LINQ语句生成的页面(例如:)(这是更新的代码,显示调用questionCount并将其设置为_labelQuestionCount的位置-这是一个较大方法的片段,该方法动态生成所有页面并在动态页面中设置所有控件) 以下是全局变量:C# 计算动态生成的页面数,c#,windows,linq,count,C#,Windows,Linq,Count,这可能是一个简单的解决方案,但我无法理解 我有动态生成的页面,我计算需要通过LINQ语句生成的页面(例如:)(这是更新的代码,显示调用questionCount并将其设置为_labelQuestionCount的位置-这是一个较大方法的片段,该方法动态生成所有页面并在动态页面中设置所有控件) 以下是全局变量: string _labelQuestionCount; 原因是,当我点击动态创建的页面时,我想对它们进行“计数”,以便在“下一步按钮”事件中,我知道x页面是我的最终页面,我可以导航
string _labelQuestionCount;
原因是,当我点击动态创建的页面时,我想对它们进行“计数”,以便在“下一步按钮”事件中,我知道x页面是我的最终页面,我可以导航/执行其他代码
“下一步”按钮的当前代码为:(已更新)
如您所见,我尝试从全局变量(例如\uu labelQuestionCount
)中输入值,然后尝试“向下”计数,直到达到0,然后执行其他操作
但是,因为我的页面是动态生成的,所以我永远无法访问0
这可能是错误的做法,因此,如果有人能提出建议或提供帮助,我们将不胜感激
亲切问候,,
geoNeo如果没有
页面,我会考虑将一些int PageID
分配给页面。
当您从基本页面恢复页面集合时,您不计算页面的计数,而是获取当前可用的最新页面的PageID
在按钮上单击再次询问单击时集合中的最后一个元素(因为它可能已更改,新页面已添加到集合中),重新查看其页面ID
,并检查您切换到的页面是否具有相同的ID,如果是,做你需要做的。我会考虑分配给页面
一些intpageid
,如果没有的话。
当您从基本页面恢复页面集合时,您不计算页面的计数,而是获取当前可用的最新页面的PageID
在按钮上单击再次询问单击时集合中的最后一个元素(因为它可能已更改,新页面已添加到集合中),重新查看其页面ID
,并检查您切换到的页面是否具有相同的ID,如果是,执行您需要执行的操作。您必须将减少的值(w--)重新分配给全局变量\u labelQuestionCount(在下一个按钮单击事件中)。因为如果单击下一步,所有单击的_labelQuestionCount都将保持不变。您必须在下一步按钮单击事件中,将减小的值(w--)重新分配给全局变量_labelQuestionCount。因为如果单击“下一步”,所有单击的_labelQuestionCount都将保持不变。友好的建议,不要使用单字母变量,也不需要测试布尔值是否为真。即,如果您编写bool formIsChecked=IsChecked(_form);如果(已勾选){var labelCount=…
这对你自己和其他人来说更具可读性。抱歉,abel这只是一个测试应用程序-但感谢你的建议,这将在以后的帖子中记住:)一个友好的建议,不使用单字母变量,也不需要测试布尔值是否为真。例如,如果你编写bool formIsChecked=IsChecked(_form);如果(已勾选){var labelCount=…
这对你自己和其他人来说更容易阅读。抱歉,abel只是一个测试应用程序-但感谢你的建议,以后的帖子会记住它:)Hi-Vetrivel请你详细说明分配减少的值-fanx:DHi-Vetrivel请详细说明分配减少的值-fanx:DHi Tigran-感谢回复我正在尝试在我们键入时实施所有建议-fanx:DHi Tigran-感谢回复我正在尝试在我们键入时实施所有建议-fanx:D
string _labelQuestionCount;
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.");
}
}