我用在winform上,从数据库里取出数据,然后显示在多个linklabel上,以下是代码
int i = 0;
Conn = new SqlConnection("server=10.10.10.10;uid=sa;pwd=123;database=db");
string strsql="select top 10 * from send_mt_backup order by send_time desc";
SqlCommand mycomm=new SqlCommand(strsql,Conn);
SqlDataReader dr;
dr=mycomm.ExecuteReader();
while(dr.Read())
{
LinkLabel[] lb = new LinkLabel[10];
lb[i] = new LinkLabel();
lb[i].Location = new Point(33+i*0,22+i*26);
this.Controls.Add(lb[i]);
lb[i].Size=new System.Drawing.Size(357,20);
lb[i].BackColor = System.Drawing.Color.White;
lb[i].Text = dr["send_desc"].ToString();
i=i+1;
}
Conn.Close();
dr.Close();
以上代码运行正常,能够显示多个linklabel,我的问题是: 显示了的linklabel如何操作啊,我需要对linklabel点击打开另外的窗口...
int i = 0;
Conn = new SqlConnection("server=10.10.10.10;uid=sa;pwd=123;database=db");
string strsql="select top 10 * from send_mt_backup order by send_time desc";
SqlCommand mycomm=new SqlCommand(strsql,Conn);
SqlDataReader dr;
dr=mycomm.ExecuteReader();
while(dr.Read())
{
LinkLabel[] lb = new LinkLabel[10];
lb[i] = new LinkLabel();
lb[i].Location = new Point(33+i*0,22+i*26);
this.Controls.Add(lb[i]);
lb[i].Size=new System.Drawing.Size(357,20);
lb[i].BackColor = System.Drawing.Color.White;
lb[i].Text = dr["send_desc"].ToString();
i=i+1;
}
Conn.Close();
dr.Close();
以上代码运行正常,能够显示多个linklabel,我的问题是: 显示了的linklabel如何操作啊,我需要对linklabel点击打开另外的窗口...
using System;
using System.Drawing;
using System.Windows.Forms;public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.LinkLabel linkLabel1;
[STAThread]
static void Main()
{
Application.Run(new Form1());
} public Form1()
{
// Create the LinkLabel.
this.linkLabel1 = new System.Windows.Forms.LinkLabel(); // Configure the LinkLabel's size and location. Specify that the
// size should be automatically determined by the content.
this.linkLabel1.Location = new System.Drawing.Point(34, 56);
this.linkLabel1.Size = new System.Drawing.Size(224, 16);
this.linkLabel1.AutoSize = true; // Configure the appearance.
// Set the DisabledLinkColor so that a disabled link will show up against the form's background.
this.linkLabel1.DisabledLinkColor = System.Drawing.Color.Red;
this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue;
this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.linkLabel1.LinkColor = System.Drawing.Color.Navy;
this.linkLabel1.TabIndex = 0;
this.linkLabel1.TabStop = true;
// Add an event handler to do something when the links are clicked.
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); // Identify what the first Link is.
this.linkLabel1.LinkArea = new System.Windows.Forms.LinkArea(0, 8); // Identify that the first link is visited already.
this.linkLabel1.Links[0].Visited = true;
// Set the Text property to a string.
this.linkLabel1.Text = "Register Online. Visit Microsoft. Visit MSN."; // Create new links using the Add method of the LinkCollection class.
// Underline the appropriate words in the LinkLabel's Text property.
// The words 'Register', 'Microsoft', and 'MSN' will
// all be underlined and behave as hyperlinks. // First check that the Text property is long enough to accommodate
// the desired hyperlinked areas. If it's not, don't add hyperlinks.
if(this.linkLabel1.Text.Length >= 45)
{
this.linkLabel1.Links[0].LinkData = "Register";
this.linkLabel1.Links.Add(24, 9, "www.microsoft.com");
this.linkLabel1.Links.Add(42, 3, "www.msn.com");
// The second link is disabled and will appear as red.
this.linkLabel1.Links[1].Enabled = false;
}
// Set up how the form should be displayed and add the controls to the form.
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.linkLabel1});
this.Text = "Link Label Example";
} private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
// Determine which link was clicked within the LinkLabel.
this.linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; // Display the appropriate link based on the value of the
// LinkData property of the Link object.
string target = e.Link.LinkData as string; // If the value looks like a URL, navigate to it.
// Otherwise, display it in a message box.
if(null != target && target.StartsWith("www"))
{
System.Diagnostics.Process.Start(target);
}
else
{
MessageBox.Show("Item clicked: " + target);
}
}
}