为了账号安全,请及时绑定邮箱和手机立即绑定

财产不起作用,无法从另一种形式获得价值

财产不起作用,无法从另一种形式获得价值

C#
繁星淼淼 2021-05-02 12:15:18
我正在尝试为串行端口开发Windows窗体应用程序。我的申请表中有不同的表格。因此,我以不同的形式显示了传感器数据的写入值。我要做的是,当我更改传感器的写入数据的值时,将不得不更改传感器的值。我尝试了以同样的方式工作。但是当我尝试另一种形式时,它显示了此异常:System.FormatException:'输入的字符串格式不正确。我尝试使用属性。我的代码如下:在配置形式中,我创建了一个属性并以相同形式调用按钮public partial class config : Form{        public string _txtRsltDensity        {            get { return txtRsltDensity.Text; }            set { txtRsltDensity.Text = value; }        }        private void btnRsltDensity_Click(object sender, EventArgs e)        {            Form1 f1 = new Form1();            int val = Convert.ToInt32(_txtRsltDensity);            bool res = Int32.TryParse(_txtRsltDensity, out val);            if (res == true && val > -1 && val < 2)            {                f1.Density();// this is function created in main form            }        }}在主表单中,我首先为传感器创建了一个命令,然后创建了一个函数以在传感器中写入新值 public string cmdMake(int cmd, int rw) {        int cmdLen = 0;        string param = "";        string strCmd = "D";        AsciiCode ascCode = new AsciiCode();        strCmd = strCmd + Convert.ToInt32(numSlave.Value).ToString("X2");        if (rw == CMD_RD)             {            strCmd = strCmd + "07" + cmd.ToString("X2");            strCmd = strCmd + dterr_chk.CalCRC16(strCmd);        }        else        {            switch (cmd)            {                case 13:                    config C = new config();                    param = dtConv.DblToStr(double.Parse(C.txtRsltDensity.Text), 0, 2, 0);// here show the exception may be because the value of textbox is zero                      break;            }            cmdLen = 7 + param.Length;            strCmd = strCmd + cmdLen.ToString("X2") + cmd.ToString("X2") + param;            strCmd = strCmd + dterr_chk.CalCRC16(strCmd);        }        strCmd = strCmd + ascCode.STR_CRLF;        return (strCmd);    }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信