Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Visual studio 2012 Do INTIL循环-非Do while(!条件)_Visual Studio 2012 - Fatal编程技术网

Visual studio 2012 Do INTIL循环-非Do while(!条件)

Visual studio 2012 Do INTIL循环-非Do while(!条件),visual-studio-2012,Visual Studio 2012,我正在VisualStudio中创建一个程序,程序中有一个点,用户必须在列表框中标记一个项目,然后单击一个按钮来更改它的一些值。问题是,即使他们没有标记一个,它也能工作,然后在按下下一个按钮时程序就会中断 if(lbxItems->SelectedIndex < 0) { MessageBox::Show("Please choose an item to change"); } if(lbxItems->SelectedIndexSelectedIndex

我正在VisualStudio中创建一个程序,程序中有一个点,用户必须在列表框中标记一个项目,然后单击一个按钮来更改它的一些值。问题是,即使他们没有标记一个,它也能工作,然后在按下下一个按钮时程序就会中断

if(lbxItems->SelectedIndex < 0)
{
    MessageBox::Show("Please choose an item to change");
}
if(lbxItems->SelectedIndex<0)
{
MessageBox::Show(“请选择要更改的项目”);
}
当我这样做的时候,MessageBox会弹出,但是程序不会给用户一个实际标记项目的机会。我试着用
do while
来创建它,但它只是向消息框发送垃圾邮件,直到你停止程序

问题就在这里,因为当他们单击“更改”按钮时,列表框所在的GroupBox将禁用,因此用户无法在之后执行此操作。 我想我正在搜索的是一种在
do while
循环中暂停程序的方法,这样用户就有时间在项目再次循环之前标记它,并发送更多的消息框


我知道这可能会非常混乱,如果您需要更多代码,我可以显示更多的代码。

禁用按钮,直到在列表框中选择了一个项目,您就根本不需要循环。您不能在这样的函数中“暂停”。您必须中止该函数,让其他代码运行,然后重新启动该函数。最后生成一个MouseEnter函数,该函数在“lbxItems->SelectedIndex<0”时创建一个弹出窗口,感谢您的帮助!