gpt4 book ai didi

c# - 从 Windows 窗体上的文本框中获取数据

转载 作者:行者123 更新时间:2023-11-30 17:06:25 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 制作 Windows 窗体。我正在为大学作业制作一个基于文本的生存游戏,但我被卡住了。

我的目标是让用户在 文本框 中输入一个选择 (1-4) 来做出他们的选择。

我尝试使用 4 不同的按钮,但似乎无法获得 if 语句来处理按钮点击。然后我尝试了一个带按钮的开关,然后是一个带文本的开关,现在是一个带 if/else if 语句的文本框。

这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.VisualBasic;


namespace PF5
{
public partial class Form1 : Form
{

int iScore = 0, iChoice;
String sName;

public Form1()
{
//asks user to input their name before the game begins
sName = Microsoft.VisualBasic.Interaction.InputBox("Please enter your name:", "What is Your Name?", "");
//if no name is entered, they are asked again
while (sName == "")
{
MessageBox.Show("Please enter your name.");
sName = Microsoft.VisualBasic.Interaction.InputBox("Please enter your name:", "What is Your Name?", "");
}


InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//displays the score
lblScore.Text = iScore.ToString();
//displays the scoring system in the Rules textbox
txtRules.Text = "Welcome to SURVIVE, " + sName + ", during your time here you will be presented with numerous scenarios and you will be given FOUR options or choices." + Environment.NewLine + "" + Environment.NewLine + "For each Scenario there will be: " + Environment.NewLine + "" + Environment.NewLine + "ONE 'Perfect Answer' which will give you +2 points to your score. " + Environment.NewLine + "" + Environment.NewLine + "ONE 'Correct Answer' which will award you +1 point to your total. " + Environment.NewLine + "" + Environment.NewLine + "ONE 'Wrong Answer' which will award you +0 points." + Environment.NewLine + "" + Environment.NewLine + "ONE 'Fatal Answer' which will result in Game Over, Death and -1 point.";
}


private void btnExit_Click(object sender, EventArgs e)
{
// Display a message box asking users if they
// want to exit the application.
if (MessageBox.Show("Do you want to exit?", "SURVIVE",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes)
{
Application.Exit();
}
}

private void btnStart_Click(object sender, EventArgs e)
{

//Displays story and Options for the user
txtStory.Text = "After a heavy night in town, you wake up the following day with the worst headache ever. The night seems to be a blur. The usual business of outside seems to be quiter than normal, even for a Sunday, but you don't think too much about it." + Environment.NewLine + " After you have had a shower, a coffee and got ready you feel slightly better, you turn on the TV to watch your favorite channel, only to see some pandemic on the news, apparently a ZOMBIE OUTBREAK!" + Environment.NewLine + "Luckily for you though, you have played Black Ops Zombies and Minecraft for most of your student life so you know exactly what to do..."
+ Environment.NewLine + "" + Environment.NewLine + "Option 1: Run outside and ask the first person you see to help you" + Environment.NewLine + "" + Environment.NewLine + "Option 2: Take some time to get some food and money together and pack them along with extra clothes into your bag." + Environment.NewLine + "" + Environment.NewLine + "Option 3: Text your friends and see if they are okay." + Environment.NewLine + "" + Environment.NewLine + "Option 4: Call the police to let them know a Zombie Outbreak is happening";
btnStart.Visible = false;

txtChoice.Text = Convert.ToString(iChoice);
iChoice = Convert.ToInt32(Console.ReadLine());
if (iChoice == 1)
{
txtResult.Text = "You run outside and grab the first person you see by the shoulder, apparently this particular person just wanted to chomp on your flesh." + Environment.NewLine + "" + Environment.NewLine + "YOU DIED!!!";
iScore = -1;
lblScore.Text = iScore.ToString();
}
}
}
}

我希望有人能提供帮助。我对它的其余部分很满意,只是 if 语句 atm,它不会检测到 textbox 中的条目,我也在考虑使用提交答案按钮,但我不知道如何让它发挥作用。

值得一提的是,我不是高级用户(你可能会说)

最佳答案

正如我所看到的,您正在使用带有文本框和按钮的 Windows 窗体,但随后您正在从控制台读取 iChoice。如果您有该变量的文本框 (iChoice),那么试试这个 iChoice = Int32.Parse(iChoiceTextBox.Text);

以这种方式更改 btnStart_click 事件:

private void btnStart_Click(object sender, EventArgs e)
{

//Displays story and Options for the user
txtStory.Text = "After a heavy night in town, you wake up the following day with the worst headache ever. The night seems to be a blur. The usual business of outside seems to be quiter than normal, even for a Sunday, but you don't think too much about it." + Environment.NewLine + " After you have had a shower, a coffee and got ready you feel slightly better, you turn on the TV to watch your favorite channel, only to see some pandemic on the news, apparently a ZOMBIE OUTBREAK!" + Environment.NewLine + "Luckily for you though, you have played Black Ops Zombies and Minecraft for most of your student life so you know exactly what to do..."
+ Environment.NewLine + "" + Environment.NewLine + "Option 1: Run outside and ask the first person you see to help you" + Environment.NewLine + "" + Environment.NewLine + "Option 2: Take some time to get some food and money together and pack them along with extra clothes into your bag." + Environment.NewLine + "" + Environment.NewLine + "Option 3: Text your friends and see if they are okay." + Environment.NewLine + "" + Environment.NewLine + "Option 4: Call the police to let them know a Zombie Outbreak is happening";
btnStart.Visible = false;

iChoice = Int32.Parse(txtChoice.Text);
if (iChoice == 1)
{
txtResult.Text = "You run outside and grab the first person you see by the shoulder, apparently this particular person just wanted to chomp on your flesh." + Environment.NewLine + "" + Environment.NewLine + "YOU DIED!!!";
iScore = -1;
lblScore.Text = iScore.ToString();
}
}

关于c# - 从 Windows 窗体上的文本框中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com