private void cmdOk_Click(object sender, EventArgs e)
 {
     foreach (var item in lstAdValues.Items)
     {
         DBRowValue tmp      = (DBRowValue)item;
         string     ValName  = item.ToString();
         int        SplitPos = ValName.LastIndexOf(" (");
         ValName = ValName.Substring(0, SplitPos);
         if (tmp.myRow.PlcTag != null)
         {
             tmp.myRow.PlcTag.ValueName = ValName.Replace(" ", "_");
             SelectedTags.Add(tmp.myRow.PlcTag);
         }
     }
     this.Close();
 }
        private void cmdOk_Click(object sender, EventArgs e)
        {
            if (SelectPart == SelectPartType.BlocksOfflineFolder)
            {
                if (treeStep7Project.SelectedNode != null)
                {
                    var tmp = (myTreeNode)treeStep7Project.SelectedNode;
                    if (tmp.myObject.GetType() == typeof(BlocksOfflineFolder))
                    {
                        retVal = (BlocksOfflineFolder)tmp.myObject;
                    }
                    else
                    {
                        retVal = null;
                    }
                }
            }
            else if (SelectPart == SelectPartType.S7ProgrammFolder)
            {
                if (treeStep7Project.SelectedNode != null)
                {
                    var tmp = (myTreeNode)treeStep7Project.SelectedNode;
                    if (tmp.myObject.GetType() == typeof(S7ProgrammFolder))
                    {
                        retVal = (S7ProgrammFolder)tmp.myObject;
                    }
                    else
                    {
                        retVal = null;
                    }
                }
            }
            else if (SelectPart == SelectPartType.VariableTable)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    S7ProjectBlockInfo tmp = (S7ProjectBlockInfo)lstProjectFolder.SelectedItem;
                    if (tmp.BlockType == PLCBlockType.VAT)
                    {
                        retVal = ((IBlocksFolder)tmp.ParentFolder).GetBlock(tmp);
                        ((Block)retVal).ParentFolder = tmp.ParentFolder;
                    }
                }
            }
            else if (SelectPart == SelectPartType.VariableTableOrSymbolTable)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    S7ProjectBlockInfo tmp = (S7ProjectBlockInfo)lstProjectFolder.SelectedItem;
                    if (tmp.BlockType == PLCBlockType.VAT)
                    {
                        retVal = ((IBlocksFolder)tmp.ParentFolder).GetBlock(tmp);
                        ((Block)retVal).ParentFolder = tmp.ParentFolder;
                    }
                }
                else if (treeStep7Project.SelectedNode != null)
                {
                    var tmp = (myTreeNode)treeStep7Project.SelectedNode;
                    if (tmp.myObject is ISymbolTable)
                    {
                        retVal = tmp.myObject as ISymbolTable;
                    }
                }
            }
            else if (SelectPart == SelectPartType.DataBlock)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    S7ProjectBlockInfo tmp = (S7ProjectBlockInfo)lstProjectFolder.SelectedItem;
                    if (tmp.BlockType == PLCBlockType.DB)
                    {
                        retVal = ((IBlocksFolder)tmp.ParentFolder).GetBlock(tmp);
                        ((Block)retVal).ParentFolder = tmp.ParentFolder;
                    }
                }
            }
            else if (SelectPart == SelectPartType.DataBlocks)
            {
                if (lstProjectFolder.SelectedItems.Count > 0)
                {
                    this.Hide();

                    var blocks = new List <S7DataBlock>();

                    foreach (S7ProjectBlockInfo s7ProjectBlockInfo in lstProjectFolder.SelectedItems)
                    {
                        if (s7ProjectBlockInfo.BlockType == PLCBlockType.DB)
                        {
                            var block = ((IBlocksFolder)s7ProjectBlockInfo.ParentFolder).GetBlock(s7ProjectBlockInfo);
                            block.ParentFolder = s7ProjectBlockInfo.ParentFolder;

                            blocks.Add((S7DataBlock)block);
                        }
                    }

                    retVal = blocks.Count > 0 ? blocks : null;
                }
            }
            else if (SelectPart == SelectPartType.FunctionBlock)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    S7ProjectBlockInfo tmp = (S7ProjectBlockInfo)lstProjectFolder.SelectedItem;
                    if (tmp.BlockType == PLCBlockType.FC || tmp.BlockType == PLCBlockType.FB || tmp.BlockType == PLCBlockType.OB)
                    {
                        retVal = ((IBlocksFolder)tmp.ParentFolder).GetBlock(tmp);
                        ((Block)retVal).ParentFolder = tmp.ParentFolder;
                    }
                }
            }
            else if (SelectPart == SelectPartType.DataType)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    S7ProjectBlockInfo tmp = (S7ProjectBlockInfo)lstProjectFolder.SelectedItem;
                    if (tmp.BlockType == PLCBlockType.UDT)
                    {
                        retVal = ((IBlocksFolder)tmp.ParentFolder).GetBlock(tmp);
                        ((Block)retVal).ParentFolder = tmp.ParentFolder;
                    }
                }
            }
            else if (SelectPart == SelectPartType.SymbolTable)
            {
                if (treeStep7Project.SelectedNode != null)
                {
                    var tmp = (myTreeNode)treeStep7Project.SelectedNode;
                    if (tmp.myObject is ISymbolTable)
                    {
                        retVal = tmp.myObject as ISymbolTable;
                    }
                    else
                    {
                        retVal = null;
                    }
                }
            }
            else if (SelectPart == SelectPartType.Tag)
            {
                if (lstProjectFolder.SelectedItem != null)
                {
                    this.Hide();
                    DBRowValue tmp = (DBRowValue)lstProjectFolder.SelectedItem;
                    retVal = tmp.myRow.PlcTag;
                }
            }
            if (retVal != null)
            {
                this.Close();
            }
            else
            {
                MessageBox.Show("Please select the right Project Part, or press cancel to close this window.");
            }
        }