C# 从控制台将输入获取到表单中

C# 从控制台将输入获取到表单中,c#,C#,我想看看如何让在这个控制台应用程序中输入的值在一个表单文本框中工作,我如何做到这一点 例如,在控制台中输入00000000就好像它是在表单中输入的一样,所以我想我希望它们是分开的,但可以无缝地工作。我不知道如何获取文本框以从控制台应用程序的Console.Readline()获取内容 这是我如何让它工作的一个例子 publicstaticvoidmain(字符串[]args) { 控制台。写入(“输入有效的10位ISBN号”); string isbn=isbnChecker.isbn(Co

我想看看如何让在这个控制台应用程序中输入的值在一个表单文本框中工作,我如何做到这一点

例如,在控制台中输入00000000就好像它是在表单中输入的一样,所以我想我希望它们是分开的,但可以无缝地工作。我不知道如何获取文本框以从控制台应用程序的Console.Readline()获取内容

这是我如何让它工作的一个例子

publicstaticvoidmain(字符串[]args)
{
控制台。写入(“输入有效的10位ISBN号”);
string isbn=isbnChecker.isbn(Console.ReadLine());//规范化输入并将其放在字符串“str”上
if(isbn.Length>10 | | isbn.Length<9)//如果字符串长度大于10或小于9
{
Console.WriteLine(“您输入的号码不是有效的ISBN,请重试。”);//打印无效号码
Console.ReadLine();
}
else if(isbn.Length==10)//如果长度为10
{
if(isbnChecker.CheckNumber(isbn))//if函数CheckNum返回“true”。。。
Console.WriteLine(“您输入的号码是有效的ISBN”);
否则//如果返回“false”。。。
WriteLine(“您输入的号码不是有效的ISBN,请重试”);
Console.ReadLine();
}
else//else(如果数字不大于10或小于9,也不是10->如果数字为9)
{
Console.WriteLine(“与此ISBN号对应的校验位为“+checkIsbnClass.CheckIsbn(ISBN)+”);//打印校验和位
Console.ReadLine();
}
}
公共静态类isbnChecker
{
publicstaticboolchecknumber(stringisbn)//检查校验和数字是否正确
{
if(isbn[9].ToString()==checkIsbnClass.CheckIsbn(isbn))//如果数字的第10位与计算的数字相同。。。
返回true;
否则//如果它们不一样。。。
返回false;
}
publicstaticstringisbn(stringisbn)//替换字符串
{
返回isbn.Replace(“-”,”).Replace(“,”);
}
}
[1]: http://i.stack.imgur.com/bAcDJ.jpg
publicstaticstringcheckisbn(stringisbn)//计算9位部分isbn数的第10位
{
整数和=0;
对于(int i=0;i<9;i++)//对于每个数字。。。
{
sum+=int.Parse(isbn[i].ToString())*(i+1);/…将数字乘以它在字符串中的位置
}
if((总和%11)==10)//如果余数等于10。。。
{
返回“x”;//输出x
}
否则//如果它不等于10。。。
{
return(总和%11).ToString();//输出数字
}
}
publicstaticboolchecknumber(stringisbn)//检查校验和数字是否正确
{
if(isbn[9].ToString()==CheckIsbn(isbn))//如果数字的第10位与计算的数字相同。。。
返回true;
否则//如果它们不一样。。。
返回false;
}
publicstaticstringisbn(stringisbn)//替换字符串
{
返回isbn.Replace(“-”,”).Replace(“,”);
}
}
公共部分类IsbnForm:Form
{
公共IsbnForm()
{
初始化组件();
}
私有void textBox1\u TextChanged(对象发送方,事件参数e)
{
this.xInputTextBox.Text=“输入有效的ISBN”;
}

}

创建表单的实例,并在读取文本框时将存储的变量传递给文本框

IsbnForm form = new IsbnForm();
您可以通过以下方法以几种方式传递文本:

//In the IsbnForm class
public SetTextboxText(String Text) { textbox.text = Text; }

//In the console application
form.SetTextboxText(isbn);
变量,例如:

//In the IsbnForm class
public String TextboxText { set { textbox.text = value; } }

//In the console application
form.TextboxText = isbn;
或者只是公开文本框控件,然后通过

//In the console application.
form.textbox.text = isbn;
在显示窗体时,您需要保持控制台程序运行,可以使用readline、关闭窗体时中断的循环,也可以使用ShowDialog而不是show

看看哪一个工作正常,以及你期望它如何工作

form.Show();
Console.Readline();


您想为您的应用程序提供命令行界面还是图形界面?这是非常罕见的,在同一个应用程序中有两个,这是唯一可能的一些黑客。我需要提供这两个,如果他们是一个应用程序,这是额外的学分在课堂上
form.Show();
Console.Readline();
while(FormRunning == false) { }
form.ShowDialog();