⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 headpage.cs

📁 可以实现任意数据库之间的数据互导,可以实现任意数据库之间的数据互导
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Reflection;

namespace LC_DataIO
{
    public partial class HeadPage : Form
    {
        public ArrayList AllDataObj = new ArrayList();
        private LC_Button xmlbtn;
        public static HeadPage hp = null;
        private XmlManager xml = new XmlManager(Application.StartupPath+"//data//dataconverter.xml");
        public ArrayList ReadyConvertS = new ArrayList();

        public static LC_XMLControl.IThransProtocol ConverterXml = null;
        public static LC_XMLControl.IThransProtocol XmlConverter = null;
        private string cxml, xmlc;
        public  void selectConverter(string key,string value,int type)
        {
             
            if (type == 1)
            {
                ReadyConvertS.Remove(key);
                return;
            }
            else
            {
                if (ReadyConvertS.Count >= 2)
                {
                    ReadyConvertS.Clear();
                    xmlbtn.SelectIf = false;
                    xmlbtn.mi.Text = "选择";
                    for (int i = 0; i < AllDataObj.Count; i++)
                    {
                        ((LC_Button)AllDataObj[i]).SelectIf = false;
                        ((LC_Button)AllDataObj[i]).mi.Text = "选择";
                    }
                    return;
                }
                if (ReadyConvertS.Contains(key))
                {
                    ReadyConvertS.Remove(key);
                }
                ReadyConvertS.Add(value);
            }
        }
        private int getIndex(ArrayList al,string key)
        {
            for (int i = 0; i < al.Count; i++)
            {
                if (key == al[i].ToString())
                    return i;
            }
            return -1;
        }
        public HeadPage()
        {
            InitializeComponent();
            
            initdata();
            hp = this;
        }
        public void initdata()
        {
            
            this.obj_panel.Controls.Clear();
            AllDataObj.Clear();
            this.obj_panel.CreateGraphics().Clear(Color.Gray);
            xmlbtn = new LC_Button("XML");
            this.obj_panel.Controls.Add(xmlbtn);
            XmlManager xm = new XmlManager(Application.StartupPath + "//data//dataconverter.xml");
            ArrayList temp = xm.getAllObj();
            for (int i = 0; i < temp.Count; i++)
            {
                LC_DataIO.XmlManager.objbtn tt = ((LC_DataIO.XmlManager.objbtn)temp[i]);
                LC_Button lb = new LC_Button(tt.pos,tt.objname);
                AllDataObj.Add(lb);
                this.obj_panel.Controls.Add(lb);
            }
            updateLayout();
            
        }
        private void HeadPage_Load(object sender, EventArgs e)
        {
            this.obj_panel.MouseClick += new MouseEventHandler(obj_panel_MouseClick);
            updateLayout();
        }

        void obj_panel_MouseClick(object sender, MouseEventArgs e)
        {
            
            for (int i = 0; i < AllDataObj.Count; i++)
            {
                if (((LC_Button)AllDataObj[i]).Mousedonw)
                {
                    ((LC_Button)AllDataObj[i]).setPos(new Point(e.X,e.Y));
                    xml.setAttribteValue(((LC_Button)AllDataObj[i]).Text, "Converter", "posx", e.X.ToString());
                    xml.setAttribteValue(((LC_Button)AllDataObj[i]).Text, "Converter", "posy", e.Y.ToString());
                }

            }
            drawLine();
        }

        private void drawLine()
        {
           Graphics g = this.obj_panel.CreateGraphics();
           g.Clear(this.obj_panel.BackColor);
           Pen bluePen = new Pen(Color.Blue, 2);
           for (int i = 0; i < AllDataObj.Count; i++)
           {
               Point s=((LC_Button)AllDataObj[i]).Location;
               Point e=xmlbtn.Location;
               s.X=s.X+xmlbtn.Width/2;
               s.Y=s.Y+xmlbtn.Height/2;
               e.X=e.X+xmlbtn.Width/2;
               e.Y=e.Y+xmlbtn.Height/2;
               g.DrawLine(bluePen,s ,e);
           }
           g.Dispose(); 
        }
        public void initallobj()
        {
            if(!xmlbtn.SelectIf)
               xmlbtn.Mousedonw = false;
            for (int i = 0; i < AllDataObj.Count; i++)
            {
                if (!((LC_Button)AllDataObj[i]).SelectIf)
                {
                 ((LC_Button)AllDataObj[i]).Mousedonw=false;
                }

            }
        }
        public void updateLayout()
        {
            drawLine();
            XmlManager xm = new XmlManager(Application.StartupPath + "//data//dataconverter.xml");
            ArrayList temp = xm.getAllObj();
            xmlbtn.setPos(new Point((obj_panel.Width - xmlbtn.Width) / 2, (obj_panel.Height - xmlbtn.Height) / 2));
            for (int i = 0; i < AllDataObj.Count; i++)
            {
                LC_Button lb = ((LC_Button)AllDataObj[i]);
                LC_DataIO.XmlManager.objbtn tt = ((LC_DataIO.XmlManager.objbtn)temp[i]);
                lb.setPos(tt.pos);
            }
            
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            drawLine();
        }

        private void HeadPage_Resize(object sender, EventArgs e)
        {
            updateLayout();
            
        }

        private void start_btn_Click(object sender, EventArgs e)
        {
            
            string dllname = "";
            for (int i = 0; i < ReadyConvertS.Count;i++ )
            {
                dllname = dllname + ReadyConvertS[i].ToString() + "TO";
            }
            if (dllname == "")
            {
                MessageBox.Show("你还没有选择转换项");
                return;
            }
            else
            {
                if (ReadyConvertS.Count == 1)
                {
                    dllname = dllname  + dllname;
                    dllname = dllname.Substring(0, dllname.Length - 2);
                }
                if (ReadyConvertS.Count == 2)
                {
                     dllname = dllname.Substring(0,dllname.Length-2);
                }
            }
            dllname = dllname.Replace("\r\n", "").Replace(" ","");
            if (MessageBox.Show("你选择了 " + dllname + " 方式 是否进入下一步操作?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                WizardFrm.wizard.choseWizard("数据库连接编辑");
                Assembly temp = Assembly.LoadFrom(Application.StartupPath+"\\"+dllname.Substring(0, dllname.IndexOf("TO")) + "TOXML.DLL");
                if (temp != null)
                {
                    Type[] t = temp.GetTypes();
                    ConverterXml = ((LC_XMLControl.IThransProtocol)temp.CreateInstance(t[0].ToString(), false));
                }

                Assembly temp1 = Assembly.LoadFrom(Application.StartupPath + "\\" + "XML" + dllname.Substring(dllname.IndexOf("TO")) + ".DLL");
                if (temp1 != null)
                {
                    Type[] t = temp1.GetTypes();
                    XmlConverter = ((LC_XMLControl.IThransProtocol)temp1.CreateInstance(t[0].ToString(), false));
                }
            }
            else
            {
                return;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -