814382100
学无止境
级别: 家园常客
精华主题: 0
发帖数量: 533 个
工控威望: 698 点
下载积分: 1806 分
在线时间: 145(小时)
注册时间: 2016-10-29
最后登录: 2024-05-06
查看814382100的 主题 / 回贴
楼主  发表于: 2020-06-04 19:16
图片:
我在Csharp 中添加这句语句总是报错    this.Controls.Add(this.axActUtlType);  
网上时候     this.Controls.Add(this.axActUtlType); //貌似这个控件必须要加到Controls中,不然就会引发异常。 怎么将控件添加加到Controls中了

public partial class Form1 : Form
    {
        private AxActUtlTypeLib.AxActUtlType axActUtlType = null;
        public Form1()
        {
            InitializeComponent();
            this.axActUtlType = new AxActUtlTypeLib.AxActUtlType();
            // ((System.ComponentModel.ISupportInitialize)(this.axActUtlType)).BeginInit();
           this.Controls.Add(this.axActUtlType);       //貌似这个控件必须要加到Controls中,不然就会引发异常。
        }

        private void butconn_Click(object sender, EventArgs e)
        {
            try
            {
                int iStation = Convert.ToInt32(this.txtStationNo.Text.Trim());
                this.axActUtlType.ActLogicalStationNumber = iStation;
                this.axActUtlType.ActPassword = this.txtPassword.Text.Trim();
                int rtn = this.axActUtlType.Open();
                if (rtn == 0)
                {
                   MessageBox.Show("连接成功!");
                  
                }
                else
                {
                    MessageBox.Show("连接失败");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("未知错误");
            }


也不知道那错了请师傅们指点
814382100
学无止境
级别: 家园常客
精华主题: 0
发帖数量: 533 个
工控威望: 698 点
下载积分: 1806 分
在线时间: 145(小时)
注册时间: 2016-10-29
最后登录: 2024-05-06
查看814382100的 主题 / 回贴
1楼  发表于: 2020-06-08 09:38
引用
引用第1楼030403118于2020-06-05 08:13发表的  :
缺少引用的控件



怎么让它读取带小数的值了,
现在只能定义为Short能行整数
定义为double就报错
short  D0, D1, D2, D3, D4, D5, D6, D7, D8, D470,D10;
try
                {
                    this.axActUtlType.ActLogicalStationNumber = 0;
                    this.axActUtlType.ActPassword = null;
                    int rtn = this.axActUtlType.Open();
                    if (rtn == 0)
                    {
                        PLCcom1.Text = "PLC1链接成功";
                        iReturnCode = axActUtlType.ReadDeviceBlock2("D470", 1, out D470);
                        textBox1.Text = D470.ToString();
                        iReturnCode = axActUtlType.ReadDeviceBlock2("D10", 1, out D10);
                        textBox2.Text = D10.ToString();
                        PLC1conn = true;
                    }