求个c#题目答案高手进

2024-12-18 16:58:54
推荐回答(5个)
回答1:

晕...楼上没一个准确的.各位都没看仔细楼主的需求啊.
1.按钮的Click事件里写:
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")
Button1.Text="2,1交换";
else if(Button1.Text="2,1交换")
Button1.Text="1,2交换";
2.第二问看似简单,其实是有点复杂的.我通过textBox1的KeyDown和KeyPress两个事件共同完成的:楼上的KeyUp(或者KeyDown)事件可以获得键盘上所有按键的字符和ASC码,但是有一点实验就会发现,不管输入26个字符中的任意一个,都只能显示大写字母,比如输入a,获得的是A的值,也就是说其只是获得了键盘上的值而非输入的字符.而在KeyPress事件中,可以获得文本内输入的字符,但只限于字母和数字,回车,CAP,BACK等等键都没有反应,因为这些按键在文本框上是没有输入效果的.而将两个事件共同执行,代码如下:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
textBox1.Text = "";
else
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar == 13)
textBox1.Text = "";
else
{
char key = e.KeyChar;
label1.Text = key.ToString();
label2.Text = ((int)key).ToString();
}
}
当按下键盘上某个键时,先触发KeyDown事件,此事件其实就是为了获得非数字和字母的特殊按键值.虽然也可获得字母值但都是大写字母.然后接着触发KeyPress事件.此事件将获得真正输入的字母,区分大小写.并覆盖原来错误的按键值但是却保留KeyDown事件的特殊按键值.
当输入回车时,其ASC码为13,清除文本框内容.

回答2:

很简单
1.
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")Button1.Text=="2,1交换";
else Button1.Text=="1,2交换";

2.
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}
回答者:qmroom - 助理 二级 6-26 13:48

为了这样一个问题,不值得去启动VS开发环境了,给你说一下简单思路吧。
1.然后在按钮的单击事件里:
string s;
s=textbox1.text;
textbox1.text=textbox2.text;
textbox2.text=s;
if (button1.caption=="1,2交换")
{
button1.caption="2,1交换";
button2.caption="1,2交换";
}
else
{
button1.caption="1,2交换";
button2.caption="2,1交换";
}
2.在窗体的KeyDown事件里捕捉键盘输入。
回答者:lazy67 - 经理 四级 6-26 13:50

1.
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")Button1.Text=="2,1交换";
else Button1.Text=="1,2交换";

2.
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}
回答者:waynekenobi - 门吏 二级 6-26 14:41

晕...楼上没一个准确的.各位都没看仔细楼主的需求啊.
1.按钮的Click事件里写:
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")
Button1.Text="2,1交换";
else if(Button1.Text="2,1交换")
Button1.Text="1,2交换";
2.第二问看似简单,其实是有点复杂的.我通过textBox1的KeyDown和KeyPress两个事件共同完成的:楼上的KeyUp(或者KeyDown)事件可以获得键盘上所有按键的字符和ASC码,但是有一点实验就会发现,不管输入26个字符中的任意一个,都只能显示大写字母,比如输入a,获得的是A的值,也就是说其只是获得了键盘上的值而非输入的字符.而在KeyPress事件中,可以获得文本内输入的字符,但只限于字母和数字,回车,CAP,BACK等等键都没有反应,因为这些按键在文本框上是没有输入效果的.而将两个事件共同执行,代码如下:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
textBox1.Text = "";
else
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar == 13)
textBox1.Text = "";
else
{
char key = e.KeyChar;
label1.Text = key.ToString();
label2.Text = ((int)key).ToString();
}
}
当按下键盘上某个键时,先触发KeyDown事件,此事件其实就是为了获得非数字和字母的特殊按键值.虽然也可获得字母值但都是大写字母.然后接着触发KeyPress事件.此事件将获得真正输入的字母,区分大小写.并覆盖原来错误的按键值但是却保留KeyDown事件的特殊按键值.
当输入回车时,其ASC码为13,清除文本框内容

回答3:

为了这样一个问题,不值得去启动VS开发环境了,给你说一下简单思路吧。
1.然后在按钮的单击事件里:
string s;
s=textbox1.text;
textbox1.text=textbox2.text;
textbox2.text=s;
if (button1.caption=="1,2交换")
{
button1.caption="2,1交换";
button2.caption="1,2交换";
}
else
{
button1.caption="1,2交换";
button2.caption="2,1交换";
}
2.在窗体的KeyDown事件里捕捉键盘输入。

回答4:

很简单
1.
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")Button1.Text=="2,1交换";
else Button1.Text=="1,2交换";

2.
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}

回答5:

1.
String temp=textBox1.Text;
textBox1.Text=textBox2.Text;
textBox2.Text=temp;
if(Button1.Text=="1,2交换")Button1.Text=="2,1交换";
else Button1.Text=="1,2交换";

2.
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
label1.Text = e.KeyData.ToString();
label2.Text = e.KeyValue.ToString();
}