控件樣式 1
控件名稱:myRefueller
public myRefueller [] RefuellerS { get; set; }
/// <summary>
/// 自定義控件加油機數量顯示
/// </summary>
/// <param name="conut"></param>
public void Control(List<OilEngine_OilGun> list)
{
try
{
int qh = 1;
int yj = 1;
int nber = list.Count;//加油機數量
//RefuellerS = new Control.Refueller1(nber);
RefuellerS = new myRefueller[nber];//控件
if (nber > 7)
{
for (int i = 0; i < 7; i++)
{
myRefueller r1 = new myRefueller();
r1.Name = "Jlj" + yj;
r1.Font = new Font("宋體", 9, FontStyle.Regular); //宋體, 9pt;
try
{
var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[i].OilCode).ToList();
r1.lb_Oils.Text = getByWhere[0].OilName; //顯示油品
}
catch (Exception)
{
}
r1.lb_Communication.Text = "通訊失敗"; //通訊
r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通訊顏色
r1.Size = new Size(253, 366);
r1.Location = new Point(253 * i, 0);
r1.Show();
r1.panel1.Click += new EventHandler(r1_Click);
skinTabPage3.Controls.Add(r1);
RefuellerS[i] = r1;
Console.WriteLine(r1.Name);
}
nber = nber - 7;
if (nber > 0)
{
for (int i = 0; i < nber; i++)
{
myRefueller r1 = new myRefueller();
r1.Name = "Jlj" + yj;
r1.Font = new Font("宋體", 9, FontStyle.Regular);
try
{
var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[7 + i].OilCode).ToList();
r1.lb_Oils.Text = getByWhere[0].OilName; //顯示油品
}
catch (Exception)
{
}
r1.lb_Communication.Text = "通訊失敗"; //通訊
r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通訊顏色
r1.Size = new Size(253, 366);
r1.Location = new Point(253 * i, 366);
r1.Show();
r1.panel1.Click += new EventHandler(r1_Click);
skinTabPage3.Controls.Add(r1);
RefuellerS[i] = r1;
Console.WriteLine(r1.Name);
}
}
}
else
{
for (int i = 0; i < nber; i++)
{
myRefueller r1 = new myRefueller();
r1.Name = "Jlj" + i;
r1.Font = new Font("宋體", 9, FontStyle.Regular);
try
{
var getByWhere = db.Queryable<OilEngine_Oils>().Where(it => it.OilCode == list[i].OilCode).ToList();
r1.lb_Oils.Text = getByWhere[0].OilName; //顯示油品
}
catch (Exception)
{
}
r1.lb_Communication.Text = "通訊失敗"; //通訊
r1.lb_Communication.ForeColor = Color.Red;// Color.Lime; //通訊顏色
r1.Size = new Size(253, 366);
r1.Location = new Point(253 * i, 0);
r1.Show();
r1.panel1.Click += new EventHandler(r1_Click);
skinTabPage3.Controls.Add(r1);
RefuellerS[i] = r1;
Console.WriteLine(r1.Name);
}
}
// TextShowClass.Log("加載自定控件!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
// TextShowClass.Log("加載自定控件!錯誤:" + ex.Message);
}
}
#region 自定義控件防止閃爍
protected override CreateParams CreateParams
{
get
{
var parms = base.CreateParams;
parms.Style &= ~0x02000000; // Turn off WS_CLIPCHILDREN
return parms;
}
}
#endregion
/// <summary>
/// 綁定 控件點擊事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void r1_Click(object sender, EventArgs e)
{
try
{
// MessageBox.Show(((myRefueller)sender).panel1.Name);//控件名字
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
效果圖:
第二種 兩種相同幾乎
private void r1_Click(object sender, EventArgs e)
{
//Control.Refueller1 r1 = new Control.Refueller1();
//(((Control.Refueller1)sender).Tag as TextBox).Text = ((Control.Refueller1)sender).Name;
//MessageBox.Show(((Control.Refueller1)sender).Name);
try
{
((Control.Refueller1)sender).panel1.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian (1).png");
((Control.Refueller1)sender).panel2.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian.png");
((Control.Refueller1)sender).panel3.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian2.png");
((Control.Refueller1)sender).panel4.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\Pcture\\yuandian3.png");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public Control.Refueller1 [] RefuellerS { get; set; }
/// <summary>
/// 加油機控件
///
/// </summary>
public void Control()
{
try
{
int qh = 1;
int yj = 1;
int nber = Convert.ToInt32(Config.OilNumber);
//RefuellerS = new Control.Refueller1(nber);
RefuellerS = new Control.Refueller1[nber];
if (nber > 9)
{
for (int i = 0; i < 8; i++)
{
Control.Refueller1 r1 = new Control.Refueller1();
r1.Name = "Jlj" + yj;
r1.label5.Text = yj++.ToString();
if (Convert.ToUInt32(Config.Oil(yj)) <= 2)
{
r1.label3.Visible = false;
r1.label4.Visible = false;
r1.panel3.Visible = false;
r1.panel4.Visible = false;
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
else
{
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
r1.Size = new Size(220, 281);
r1.Location = new Point(220 * i, 0);
r1.Show();
r1.Click += new EventHandler(r1_Click);
splitContainer1.Panel1.Controls.Add(r1);
RefuellerS[i]= r1;
Console.WriteLine(r1.Name);
}
nber = nber - 8;
if (nber > 0)
{
for (int i = 0; i < nber; i++)
{
Control.Refueller1 r1 = new Control.Refueller1();
r1.Name = "Jlj" + yj;
r1.label5.Text = yj++.ToString();
if (Convert.ToUInt32(Config.Oil(yj)) <= 2)
{
r1.label3.Visible = false;
r1.label4.Visible = false;
r1.panel3.Visible = false;
r1.panel4.Visible = false;
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
else
{
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
r1.Size = new Size(220, 281);
r1.Location = new Point(220 * i, 281);
r1.Show();
r1.Click += new EventHandler(r1_Click);
splitContainer1.Panel1.Controls.Add(r1);
RefuellerS[i] = r1;
Console.WriteLine(r1.Name);
}
}
}
else
{
for (int i = 0; i < nber; i++)
{
Control.Refueller1 r1 = new Control.Refueller1();
r1.Name = "Jlj" + yj;
r1.label5.Text = yj++.ToString();
if (Convert.ToUInt32(Config.Oil(yj)) <= 2)
{
r1.label3.Visible = false;
r1.label4.Visible = false;
r1.panel3.Visible = false;
r1.panel4.Visible = false;
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
else
{
r1.label1.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label3.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label2.Text = Convert.ToString(qh++).PadLeft(2, '0');
r1.label4.Text = Convert.ToString(qh++).PadLeft(2, '0');
}
r1.Size = new Size(220, 281);
r1.Location = new Point(220 * i, 0);
r1.Show();
r1.Click += new EventHandler(r1_Click);
splitContainer1.Panel1.Controls.Add(r1);
RefuellerS[i] = r1;
Console.WriteLine(r1.Name);
}
}
TextShowClass.Log("加載自定控件!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
TextShowClass.Log("加載自定控件!錯誤:"+ ex.Message);
}
}