📄 headpage.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 + -