示例#1
0
        private void tbName_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == '\r')
            {
                string name    = Page.Name;
                string imgName = tbName.Text.Trim();
                int    length  = imgName.ToBytes().Length;

                if (length == 0 || length > 16)
                {
                    MessageBox.Show("Name Length 1 bytes minimum, 16 bytes maximum".Translate());
                }
                else if (!Utility.IsNameValid(tbName.Text.Trim()))
                {
                    tbName.Text = name;
                }
                else if (App.FindPageByName(imgName))
                {
                    tbName.Text = name;
                    MessageBox.Show("Duplicate Name!".Translate());
                }
                else
                {
                    tbName.Dispose();
                    tbName = null;
                    base.Controls.Remove(tbName);

                    if (name != imgName)
                    {
                        if (Page.HmiObjects.Count > 0 &&
                            Page.HmiObjects[0].Attributes[0].InfoAttribute.AttrType == HmiAttributeType.State &&
                            Page.HmiObjects[0].Attributes[0].Data[0] == HmiObjType.PAGE
                            )
                        {
                            Page.HmiObjects[0].ObjName = imgName;
                        }
                        Page.Name = imgName;
                        RefreshPageImg(true);
                        PageUpdate(null, null);
                    }
                }
            }
        }