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

我正在尝试为串行端口开发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);

    }


繁星淼淼
浏览 126回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP