Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算动态生成的页面数_C#_Windows_Linq_Count - Fatal编程技术网

C# 计算动态生成的页面数

C# 计算动态生成的页面数,c#,windows,linq,count,C#,Windows,Linq,Count,这可能是一个简单的解决方案,但我无法理解 我有动态生成的页面,我计算需要通过LINQ语句生成的页面(例如:)(这是更新的代码,显示调用questionCount并将其设置为_labelQuestionCount的位置-这是一个较大方法的片段,该方法动态生成所有页面并在动态页面中设置所有控件) 以下是全局变量: string _labelQuestionCount; 原因是,当我点击动态创建的页面时,我想对它们进行“计数”,以便在“下一步按钮”事件中,我知道x页面是我的最终页面,我可以导航

这可能是一个简单的解决方案,但我无法理解

我有动态生成的页面,我计算需要通过LINQ语句生成的页面(例如:)(这是更新的代码,显示调用questionCount并将其设置为_labelQuestionCount的位置-这是一个较大方法的片段,该方法动态生成所有页面并在动态页面中设置所有控件)

以下是全局变量:

   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.");
        }
    }