gw 发帖数: 2175 | 1 C# newbie,
用windows form学做一个计算器,需要输入许多参数,用textbox录入。
为了保证参数的输入都是合法的数字,需要对输入内容进行检查。
用textbox.lostfocus在每次输入完成(光标离开)时检查,code 如下.
问题是这样的textbox有20多个,我需要写20多个这样的同功能的函数吗?
还是可以写一个大家可以共用?
numODt =1;
this.txtMUOD.LostFocus += new System.EventHandler(txtMCFOD_Changed);
private void txtMCFOD_Changed(object sender, System.EventArgs e)
{
try
{
numODt = double.Parse(txtMCFOD.Text);
if (numODt < 0)
{
txtMCFOD.ForeColor = Color.DarkRed;
txtMessage.Text = txtMessage.Text + "Use a Positive
number for ODt!rn";
}
else { txtMCFOD.ForeColor = Color.Blue; }
}
catch
{
txtMCFOD.ForeColor = Color.Red;
txtMessage.Text = txtMessage.Text + "Use a Positive number
for ODt!rn";
}
} |
b***i 发帖数: 3043 | 2 都一样就是一个
【在 gw 的大作中提到】 : C# newbie, : 用windows form学做一个计算器,需要输入许多参数,用textbox录入。 : 为了保证参数的输入都是合法的数字,需要对输入内容进行检查。 : 用textbox.lostfocus在每次输入完成(光标离开)时检查,code 如下. : 问题是这样的textbox有20多个,我需要写20多个这样的同功能的函数吗? : 还是可以写一个大家可以共用? : numODt =1; : this.txtMUOD.LostFocus += new System.EventHandler(txtMCFOD_Changed); : private void txtMCFOD_Changed(object sender, System.EventArgs e) : {
|
H*******g 发帖数: 6997 | 3 try numeric textbox?
http://stackoverflow.com/questions/463299/how-do-i-make-a-textb
【在 gw 的大作中提到】 : C# newbie, : 用windows form学做一个计算器,需要输入许多参数,用textbox录入。 : 为了保证参数的输入都是合法的数字,需要对输入内容进行检查。 : 用textbox.lostfocus在每次输入完成(光标离开)时检查,code 如下. : 问题是这样的textbox有20多个,我需要写20多个这样的同功能的函数吗? : 还是可以写一个大家可以共用? : numODt =1; : this.txtMUOD.LostFocus += new System.EventHandler(txtMCFOD_Changed); : private void txtMCFOD_Changed(object sender, System.EventArgs e) : {
|
gw 发帖数: 2175 | 4 问题是我如何才能正确返回这个值呢?
numODt = double.Parse(txtMCFOD.Text);
或者它怎么知道我在哪个textbox呢?
txtMCFOD
【在 b***i 的大作中提到】 : 都一样就是一个
|
v******n 发帖数: 421 | 5 sender as TextBox
【在 gw 的大作中提到】 : 问题是我如何才能正确返回这个值呢? : numODt = double.Parse(txtMCFOD.Text); : 或者它怎么知道我在哪个textbox呢? : txtMCFOD
|
c*********e 发帖数: 16335 | 6 validation 函数只有一个,客户端validation。
【在 gw 的大作中提到】 : 问题是我如何才能正确返回这个值呢? : numODt = double.Parse(txtMCFOD.Text); : 或者它怎么知道我在哪个textbox呢? : txtMCFOD
|
gw 发帖数: 2175 | 7 再接着问一个:
Class numcls{
Double a--z;
Clone(){
This.A--z=a--z;}
}
Numcls old;
Numcls cur;
Old=cur;
...
Cur.equals(old) always true;
Old=cur.clone();
...
Cur.equals(old ) always false
为什么? |
c*********e 发帖数: 16335 | 8 还是把语法先学习一下吧。
【在 gw 的大作中提到】 : 再接着问一个: : Class numcls{ : Double a--z; : Clone(){ : This.A--z=a--z;} : } : Numcls old; : Numcls cur; : Old=cur; : ...
|
gw 发帖数: 2175 | 9 谢谢!在手机上写的,不愿意多写,多多包涵。
接着问一些问题吧,不好意思,我是一边学一边google,可有很多还是不明白。
现在有一个form含有一个textbox 和两个 button,都设为public
public partial class form1:form
{
if(button1){A a = new A();}
if(button2){B a = new B();}
public form1()
{
InitializeComponent();
}
public textbox1
public button1
public button2
}
另有两个class都有一个同名的method, 但功能不一样(不同的计算公式),并且有直
接写计算结果到form的textbox里的功能(实际应用是想进入form的各个control)
class A
{
form1 f1 = new form1();
public void fn();
{
f1.textbox1.text = " class A result";
}
}
class B
{
form1 f1 = new form1();
public void fn();
{
f1.textbox1.text = " class B result";
}
}
现在想实现这样的功能:
点击button1时调用A.fn
点击button2时调用B.fn
我试图在 form里定义
if(button1){A a = new A();}
if(button2){B a = new B();}
然后在后面用a.fn() , 显然不行,object只能定义一次。
另外想在 A 中用 form1 f1 = new form1(); 来进入到f1.textbox.text
但与form1中 A a = new A(); 陷入死循环。
【在 c*********e 的大作中提到】 : 还是把语法先学习一下吧。
|
x**n 发帖数: 461 | 10 你的equal没有override,用的是reference compare,当然不会相等。 |
x**n 发帖数: 461 | 11 第一个,class A 和 class B implement 同一个 interface, raise 同样的 event,
form class listen to the event from the interface, update the textbox. |
gw 发帖数: 2175 | 12 找到这个,好象可用
http://programmers.stackexchange.com/questions/186568/is-a-pair
class A {
B otherClass;
public A() {
this.otherClass = new B(this);
}
// Other methods here call methods on B
}
class B {
A otherClass;
public B(A otherClass) {
this.otherClass = otherClass;
}
// Other methods here call methods on A
}
【在 gw 的大作中提到】 : 谢谢!在手机上写的,不愿意多写,多多包涵。 : : 接着问一些问题吧,不好意思,我是一边学一边google,可有很多还是不明白。 : 现在有一个form含有一个textbox 和两个 button,都设为public : public partial class form1:form : { : if(button1){A a = new A();} : if(button2){B a = new B();} : public form1() : {
|