c# 一个textbox 中输入表达式 点击按钮列外一个textbox 得出结果

简单四则运算就好如textbox1中输入111+222点击button后textbox2中显示333... 简单四则运算就好 如textbox1中输入111+222 点击button后textbox2中显示333 展开
 我来答
cailin066
2008-11-03 · TA获得超过199个赞
知道答主
回答量:385
采纳率:0%
帮助的人:169万
展开全部
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim() == "")
{
MessageBox.Show("请从新输入表达式");
textBox1.Text = "";
textBox1.Focus();
}
else
{
string s = textBox1.Text;
DataTable dt = new DataTable();
DataColumn col = new DataColumn("col1", typeof(string), s);
dt.Columns.Add(col);
dt.Rows.Add(new object[] { "" });
string val = Convert.ToString(dt.Rows[0][0]);
MessageBox.Show(textBox1.Text + "=" + val);
textBox1.Text = "";
}

}
百度网友6cf810b68
2008-11-02 · TA获得超过946个赞
知道大有可为答主
回答量:1403
采纳率:0%
帮助的人:1529万
展开全部
说一个思路吧..

你在button的事件里先得到textbox1.text

string str=textbox1.Text;
然后再去用一个值来判断str中是否存在+或-或*或/
如果存在..把str分成三部分 第一部分就是111 第二部分是+ 第三部分是333
最后一步..如果是+把那个数相加,其它的类似..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程路上不停止
2008-11-02 · TA获得超过421个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:251万
展开全部
如果是asp,这个跟我的一个问题很相像~

但在C#就不太清楚了。

【asp+数据库】如何把字符"1+2" 让它等于3?

http://zhidao.baidu.com/question/73048087.html

<%
Set x = CreateObject("MSScriptControl.ScriptControl")
x.Language = "VBScript"
a = 1
b = 2
c = 3
d = 4

gongshi = Replace("a+b", "a", a) '变量自己替换了哈,相信你会的
gongshi = Replace(gongshi, "b", b)
result = x.Eval(gongshi)
response.write gongshi & "=" & result
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辜巍文I
2008-11-02 · 超过34用户采纳过TA的回答
知道答主
回答量:164
采纳率:100%
帮助的人:47.9万
展开全部
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace size
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

try
{
string splitChar = "+-*/";

string[] strArray = this.textBox1.Text.Split(splitChar.ToCharArray());
int len=strArray[0].Length;

char[] chArray=this.textBox1.Text.ToCharArray();

char ch=chArray[strArray[0].Length];
double x = Int32.Parse(strArray[0]);
double y = Int32.Parse(strArray[1]);
double res = 0.0;
switch (ch)
{
case '+':
res=x + y;
this.textBox2.Text = res.ToString();
break;
case '-':
res = x - y;
this.textBox2.Text = res.ToString();
break;
case '*':
res = x * y;
this.textBox2.Text = res.ToString();
break;
case '/':
res = x / y;
this.textBox2.Text = res.ToString();
break;
default:
throw new Exception();
}

}

catch (Exception ex)
{

MessageBox.Show(ex.ToString());
}

}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crystal3606
2008-11-03 · TA获得超过108个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:151万
展开全部
private void button1_Click(object sender, EventArgs e)
{

try
{
string splitChar = "+-*/";

string[] strArray = this.textBox1.Text.Split(splitChar.ToCharArray());
int len=strArray[0].Length;

char[] chArray=this.textBox1.Text.ToCharArray();

char ch=chArray[strArray[0].Length];
double x = Int32.Parse(strArray[0]);
double y = Int32.Parse(strArray[1]);
double res = 0.0;
switch (ch)
{
case '+':
res=x + y;
this.textBox2.Text = res.ToString();
break;
case '-':
res = x - y;
this.textBox2.Text = res.ToString();
break;
case '*':
res = x * y;
this.textBox2.Text = res.ToString();
break;
case '/':
res = x / y;
this.textBox2.Text = res.ToString();
break;
default:
throw new Exception();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式