c# winform取值问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform取值问题相关的知识,希望对你有一定的参考价值。

比如说在一个textbox中写入 12+24
如何取他们的部分 12放入a,+放入b,24放入c

我需要的是通用的方法,就是用在textbox中写入199*23
也用上面的方法一样

string text=this.txtResult.Text;
string a="0",c="0";
string b="+";
for(int i=1;i<text.Length;i++)

string ch=text.Substring(i,1);
if(ch=="+"||ch=="-"||ch=="*"||ch=="/")
b=ch;
a=text.Substring(0,i);
c=text.Substring(i+1,text.Length-i-1);
break;


MessageBox.Show("a="+a+",b="+b+",c="+c);//输出各个值
参考技术A 这个你个人逻辑的问题 .很简单你自己实现吧.

--------------------
另外麻烦大家帮忙看一下我的问题.
关于ASP.NET空间的小小疑问
http://zhidao.baidu.com/question/34558728.html
参考技术B 自己拆分就好了 参考技术C 2楼已经给出算法了

C#的winform程序,主窗体的调用问题

默认情况下都是:Application.Run(new FrmMain()); 这样启动的主窗口,也就是说主窗口是没有对象名的
这样我其他的地方,不管是类还是其他窗口类都无法访问主窗口的任何控件、方法。。。
只有用代理或者相互传值的方法,这样做少还可以,多的话不是很麻烦??

我想可不可以定义一个静态类,里面实例化主窗体如:
public static FrmMain frmMain = new FrmMain();
然后program.cs里面Application.Run(frmMain);
这样就很方便了,但是不知道这样做的话好不好? 有没有什么问题呢?

参考技术A 可以这样做,没什么问题,也没必要定义静态类,只需要象你上面声明静态变量就可以了。当然,也可以比如在program.cs里(当然你其它类也行),加入
public static FrmMain frmMain =null;
然后在frmMain窗体的初始化或者load中加program.frmMain=this;
基本一样的
参考技术B 这样做完全没有必要。而且也没有实用价值。
如果你想在其他窗体访问主窗体,你可以在其他窗体声明一个带参构造函数,将FrmForm 对象传递过去就是了。NewForm newForm=new NewForm(this);
在新窗体 FrmMain mainForm;在构造函数中赋值,然后你就可以访问主窗体的资源了。追问

一般来说都是这样做的吗?我新手,不太懂这方面的

追答

我不知道大部分人是怎么做的,反正我这么做都是可以的

本回答被提问者采纳

以上是关于c# winform取值问题的主要内容,如果未能解决你的问题,请参考以下文章

winform 动态生成的控件 如何取值

winform 批量控件取值赋值

WinForm开发模式 &&公共控件

C# winform 托盘图标问题?

C# winform动态添加控件获取值问题

c# winform 打包问题