這實際上是我想要做的。我想讓某人輸入一個他們想要運行特定程序的次數。我無法弄清楚的是如何將數字10改爲(textBox1.Text)。如果你有更好的方法,請讓我知道。我對編程非常陌生。如何在while循環中放入文本框條目? C#
int counter = 1;
while (counter <= 10)
{
Process.Start("notepad.exe");
counter = counter + 1;
}
這實際上是我想要做的。我想讓某人輸入一個他們想要運行特定程序的次數。我無法弄清楚的是如何將數字10改爲(textBox1.Text)。如果你有更好的方法,請讓我知道。我對編程非常陌生。如何在while循環中放入文本框條目? C#
int counter = 1;
while (counter <= 10)
{
Process.Start("notepad.exe");
counter = counter + 1;
}
這表明如何利用用戶提供的輸入和安全將其轉換爲一個整數(System.Int32)並在櫃檯中使用它。
int counter = 1;
int UserSuppliedNumber = 0;
// use Int32.TryParse, assuming the user may enter a non-integer value in the textbox.
// Never trust user input.
if(System.Int32.TryParse(TextBox1.Text, out UserSuppliedNumber)
{
while (counter <= UserSuppliedNumber)
{
Process.Start("notepad.exe");
counter = counter + 1; // Could also be written as counter++ or counter += 1 to shorten the code
}
}
else
{
MessageBox.Show("Invalid number entered. Please enter a valid integer (whole number).");
}
嘗試System.Int32.TryParse(textBox1.Text, out counterMax)
(Docs on MSDN)將字符串轉換爲數字。
此,如果轉換成功或錯誤,如果它失敗了會返回一個真正的(即用戶輸入的東西是不是一個整數)
如果你建議TryParse,而不是這樣會更好 –
這是一個好點,我會改變它。我的第一個想法是'Int32.Parse()'更適合於像這樣的循環,但'TryParse'更好。 – WildCrustacean
textBox1.Text將返回一個字符串。你需要將其轉換成int型,因爲它記錄用戶的輸入,你會想這樣做安全:
int max;
Int32.TryParse(value, out max);
if (max)
{
while (counter <= max) {}
}
else
{
//Error
}
我會建議使用MaskedTextBox控件接受來自用戶的輸入,這將幫助我們確保只有數字將提供。它不會爲我們限制TryParse
的功能。
設定屏蔽這樣的:(可以用 「房產之窗」)
MaskedTextBox1.Mask = "00000"; // will support upto 5 digit numbers
然後使用這樣的:
int finalRange = int.Parse(MaskedTextBox1.Text);
int counter = 1;
while (counter <= finalRange)
{
Process.Start("notepad.exe");
counter = counter + 1;
}
使用嘗試捕捉身體,像這樣的功能
bool ErrorTextBox(Control C)
{
try
{
Convert.ToInt32(C.Text);
return true;
}
catch { return false; }
}
並使用
我猜你是開始g,所以我會建議使用一個普通的舊的循環,而不是一會兒這裏 –