2008-11-30 4 views
0

J'ai créé une application Win Forms pour tester le fonctionnement d'une classe LinkLabel. Il semble aller bien jusqu'à ce que je clique sur le LinkLabel changé. Le code Form1.cs est ci-dessous:Argument exception - le paramètre n'est pas valide (LinkLabel on WinForm)

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Diagnostics; 

namespace LinkLabelTest 
{ 
// Editor: code not fully indented - laziness! 
public partial class Form1 : Form 
{ 

    public Form1() 
    { 
      InitializeComponent(); 
    } 

    private void btnLinkColor_Click(object sender, EventArgs e) 
    { 
     colorDialog1.ShowDialog(); 
     llblinkLabel1.LinkColor = colorDialog1.Color; 
    } 

    private void btnActiveLinkColor_Click(object sender, EventArgs e) 
    { 
     colorDialog1.ShowDialog(); 
     llblinkLabel1.ActiveLinkColor = colorDialog1.Color; 
    } 

    private void btnVisitedLinkColor_Click(object sender, EventArgs e) 
    { 
     colorDialog1.ShowDialog(); 
     llblinkLabel1.VisitedLinkColor = colorDialog1.Color; 
    } 

    private void llblinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
    { 

     try 
     { 

      if (!(e.Link.Description == null)) 
      { 
       if (e.Button == MouseButtons.Right) 
       { 
        PopulateLinkDetails(e.Link); 
       } 

       if (e.Button == MouseButtons.Left) 
       { 
        e.Link.Visited = true; 
        Debugger.Break(); 
       } 
      } 
     } 
     catch (Exception exc) 
     { 
      Debugger.Break(); 
      MessageBox.Show(exc.Message.ToString()); 
     } 
    } 

    private void PopulateLinkDetails(LinkLabel.Link link) 
    { 
     textDescription.Text = link.Description; 
     textLinkData.Text = (string)link.LinkData; 
     textName.Text = link.Name; 
     checkBoxEnabled.Checked = link.Enabled; 
     checkBoxVisited.Checked = link.Visited; 
     nudLinkAreaStart.Value = link.Start; 
     nudLinkAreaEnd.Value = link.Length; 
    } 


    private void Form1_Load(object sender, EventArgs e) 
    { 
      cmbLinkBehaviour.DataSource = Enum.GetValues(typeof(LinkBehavior)); 
    } 

    private void cmbLinkBehaviour_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     llblinkLabel1.LinkBehavior = (LinkBehavior)cmbLinkBehaviour.SelectedItem; 
    } 

    private void AddLink_Click(object sender, EventArgs e) 
    { 
      LinkLabel.Link link = new LinkLabel.Link(); 

      link.Description = textDescription.Text.ToString(); 
      link.LinkData = textLinkData.Text.ToString(); 
      link.Name = textName.Text.ToString(); 
      link.Enabled = checkBoxEnabled.Checked; 
      link.Visited = checkBoxVisited.Checked; 
      link.Start = (int)nudLinkAreaStart.Value; 
      link.Length = (int)nudLinkAreaEnd.Value; 

      llblinkLabel1.Links.Add(link); 
    } 

} 
} 

la trace de la pile est inférieure à:

à System.Drawing.Region.GetHrgn (Graphics g) à System.Windows.Forms.Control.Invalidate (région de région, Boolean invalidateChildren) à System.Windows.Forms.LinkLabel.InvalidateLink (lien de lien) à System.Windows.Forms.LinkLabel.OnGotFocus (EventArgs e) à System.Windows.Forms.Control.WmSetFocus (Message & m) à System.Windows.Form s.Control.WndProc (message & m) à System.Windows.Forms.Label.WndProc (message & m) à System.Windows.Forms.LinkLabel.WndProc (& message msg) à System.Windows.Forms. Control.ControlNativeWindow.OnMessage (message & m) à System.Windows.Forms.Control.ControlNativeWindow.WndProc (message & m) à System.Windows.Forms.NativeWindow.DebuggableCallback (IntPtr hWnd , Int32 msg, IntPtr wparam, IntPtr lparam) à System.Windows.Forms.UnsafeNativeMethods.SetFocus (HandleRef hWnd) à System.Windows.Forms.Control.FocusInternal() à System.Windows.Forms.LinkLabel.OnMouseDo wn (MouseEventArgs e) à System.Windows.Forms.Control.WmMouseDown (message & m, MouseButtons bouton , Int32 clique) à System.Windows.Forms.Control.WndProc (message & m) à System.Windows.Forms .Label.WndProc (message & m) à System.Windows.Forms.LinkLabel.WndProc (& message msg) à System.Windows.Forms.Control.ControlNativeWindow.OnMessage (message & m) à System.Windows.Forms .Control.ControlNativeWindow.WndProc (message & m) à System.Windows.Forms.NativeWindow.DebuggableCallback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW (MSG & msg) à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (Int32 dwComponentID, motif Int32, Int32 pvLoopData) à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner (Int32 raison, le contexte ApplicationContext) à System.Windows.Forms.Application.ThreadContext.RunMessageLoop (Int32 raison, le contexte ApplicationContext) à System.Windows.Forms.Application .Run (Formulaire mainForm) à LinkLabelTest.Program.Main() dans C: \ Users \ Tony \ Documents \ Visual Studio 2008 \ Projects \ LinkLabelTest \ LinkLabelTest \ Program.cs: ligne 22

Ci-dessous le code généré concepteur:

using System.Diagnostics; 

namespace LinkLabelTest 
{ 
// Editor: code not fully indented - laziness again! 
partial class Form1 
{ 
    /// <summary> 
    /// Required designer variable. 
    /// </summary> 
    private System.ComponentModel.IContainer components = null; 

    /// <summary> 
    /// Clean up any resources being used. 
    /// </summary> 
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 
    protected override void Dispose(bool disposing) 
    { 
      if (disposing && (components != null)) 
      { 
       components.Dispose(); 
      } 

      base.Dispose(disposing); 
    } 

    #region Windows Form Designer generated code 

    /// <summary> 
    /// Required method for Designer support - do not modify 
    /// the contents of this method with the code editor. 
    /// </summary> 
    private void InitializeComponent() 
    { 

     this.llblinkLabel1 = new System.Windows.Forms.LinkLabel(); 
     this.colorDialog1 = new System.Windows.Forms.ColorDialog(); 
     this.btnLinkColor = new System.Windows.Forms.Button(); 
     this.btnActiveLinkColor = new System.Windows.Forms.Button(); 
     this.btnVisitedLinkColor = new System.Windows.Forms.Button(); 
     this.nudLinkAreaStart = new System.Windows.Forms.NumericUpDown(); 
     this.lbllabel1 = new System.Windows.Forms.Label(); 
     this.nudLinkAreaEnd = new System.Windows.Forms.NumericUpDown(); 
     this.lbllabel2 = new System.Windows.Forms.Label(); 
     this.cmbLinkBehaviour = new System.Windows.Forms.ComboBox(); 
     this.lbllabel3 = new System.Windows.Forms.Label(); 
     this.groupBox1 = new System.Windows.Forms.GroupBox(); 
     this.textDescription = new System.Windows.Forms.TextBox(); 
     this.label1 = new System.Windows.Forms.Label(); 
     this.textName = new System.Windows.Forms.TextBox(); 
     this.label2 = new System.Windows.Forms.Label(); 
     this.label3 = new System.Windows.Forms.Label(); 
     this.textLinkData = new System.Windows.Forms.TextBox(); 
     this.label4 = new System.Windows.Forms.Label(); 
     this.checkBoxEnabled = new System.Windows.Forms.CheckBox(); 
     this.AddLink = new System.Windows.Forms.Button(); 
     this.btnAmendLink = new System.Windows.Forms.Button(); 
     this.checkBoxVisited = new System.Windows.Forms.CheckBox(); 
     this.panel1 = new System.Windows.Forms.Panel(); 
     this.textBox1 = new System.Windows.Forms.TextBox(); 
     ((System.ComponentModel.ISupportInitialize)(this.nudLinkAreaStart)).BeginInit(); 
     ((System.ComponentModel.ISupportInitialize)(this.nudLinkAreaEnd)).BeginInit(); 
     this.groupBox1.SuspendLayout(); 
     this.panel1.SuspendLayout(); 
     this.SuspendLayout(); 
     // 
     // llblinkLabel1 
     // 
     this.llblinkLabel1.AutoSize = true; 
     this.llblinkLabel1.Location = new System.Drawing.Point(13, 27); 
     this.llblinkLabel1.Name = "llblinkLabel1"; 
     this.llblinkLabel1.Size = new System.Drawing.Size(96, 13); 
     this.llblinkLabel1.TabIndex = 0; 
     this.llblinkLabel1.TabStop = true; 
     this.llblinkLabel1.Text = "This is a link label !"; 
     this.llblinkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llblinkLabel1_LinkClicked); 
     // 
     // btnLinkColor 
     // 
     this.btnLinkColor.Location = new System.Drawing.Point(0, 19); 
     this.btnLinkColor.Name = "btnLinkColor"; 
     this.btnLinkColor.Size = new System.Drawing.Size(93, 23); 
     this.btnLinkColor.TabIndex = 2; 
     this.btnLinkColor.Text = "LinkColor"; 
     this.btnLinkColor.UseVisualStyleBackColor = true; 
     this.btnLinkColor.Click += new System.EventHandler(this.btnLinkColor_Click); 
     // 
     // btnActiveLinkColor 
     // 
     this.btnActiveLinkColor.Location = new System.Drawing.Point(0, 48); 
     this.btnActiveLinkColor.Name = "btnActiveLinkColor"; 
     this.btnActiveLinkColor.Size = new System.Drawing.Size(93, 23); 
     this.btnActiveLinkColor.TabIndex = 3; 
     this.btnActiveLinkColor.Text = "ActiveLinkColor"; 
     this.btnActiveLinkColor.UseVisualStyleBackColor = true; 
     this.btnActiveLinkColor.Click += new System.EventHandler(this.btnActiveLinkColor_Click); 
     // 
     // btnVisitedLinkColor 
     // 
     this.btnVisitedLinkColor.Location = new System.Drawing.Point(0, 77); 
     this.btnVisitedLinkColor.Name = "btnVisitedLinkColor"; 
     this.btnVisitedLinkColor.Size = new System.Drawing.Size(93, 23); 
     this.btnVisitedLinkColor.TabIndex = 4; 
     this.btnVisitedLinkColor.Text = "VisitedLinkColor"; 
     this.btnVisitedLinkColor.UseVisualStyleBackColor = true; 
     this.btnVisitedLinkColor.Click += new System.EventHandler(this.btnVisitedLinkColor_Click); 
     // 
     // nudLinkAreaStart 
     // 
     this.nudLinkAreaStart.Location = new System.Drawing.Point(152, 64); 
     this.nudLinkAreaStart.Maximum = new decimal(new int[] { 
     21, 
     0, 
     0, 
     0}); 
     this.nudLinkAreaStart.Name = "nudLinkAreaStart"; 
     this.nudLinkAreaStart.Size = new System.Drawing.Size(66, 20); 
     this.nudLinkAreaStart.TabIndex = 6; 
     // 
     // lbllabel1 
     // 
     this.lbllabel1.AutoSize = true; 
     this.lbllabel1.Location = new System.Drawing.Point(224, 71); 
     this.lbllabel1.Name = "lbllabel1"; 
     this.lbllabel1.Size = new System.Drawing.Size(74, 13); 
     this.lbllabel1.TabIndex = 7; 
     this.lbllabel1.Text = "Link area start"; 
     // 
     // nudLinkAreaEnd 
     // 
     this.nudLinkAreaEnd.Location = new System.Drawing.Point(152, 99); 
     this.nudLinkAreaEnd.Maximum = new decimal(new int[] { 
     21, 
     0, 
     0, 
     0}); 
     this.nudLinkAreaEnd.Name = "nudLinkAreaEnd"; 
     this.nudLinkAreaEnd.Size = new System.Drawing.Size(67, 20); 
     this.nudLinkAreaEnd.TabIndex = 8; 
     // 
     // lbllabel2 
     // 
     this.lbllabel2.AutoSize = true; 
     this.lbllabel2.Location = new System.Drawing.Point(224, 105); 
     this.lbllabel2.Name = "lbllabel2"; 
     this.lbllabel2.Size = new System.Drawing.Size(83, 13); 
     this.lbllabel2.TabIndex = 9; 
     this.lbllabel2.Text = "Link area length"; 
     // 
     // cmbLinkBehaviour 
     // 
     this.cmbLinkBehaviour.FormattingEnabled = true; 
     this.cmbLinkBehaviour.Location = new System.Drawing.Point(0, 106); 
     this.cmbLinkBehaviour.Name = "cmbLinkBehaviour"; 
     this.cmbLinkBehaviour.Size = new System.Drawing.Size(93, 21); 
     this.cmbLinkBehaviour.TabIndex = 10; 
     this.cmbLinkBehaviour.SelectedIndexChanged += new System.EventHandler(this.cmbLinkBehaviour_SelectedIndexChanged); 
     // 
     // lbllabel3 
     // 
     this.lbllabel3.AutoSize = true; 
     this.lbllabel3.Location = new System.Drawing.Point(-3, 130); 
     this.lbllabel3.Name = "lbllabel3"; 
     this.lbllabel3.Size = new System.Drawing.Size(78, 13); 
     this.lbllabel3.TabIndex = 11; 
     this.lbllabel3.Text = "Link Behaviour"; 
     // 
     // groupBox1 
     // 
     this.groupBox1.Controls.Add(this.btnLinkColor); 
     this.groupBox1.Controls.Add(this.btnActiveLinkColor); 
     this.groupBox1.Controls.Add(this.lbllabel3); 
     this.groupBox1.Controls.Add(this.btnVisitedLinkColor); 
     this.groupBox1.Controls.Add(this.cmbLinkBehaviour); 
     this.groupBox1.Location = new System.Drawing.Point(12, 57); 
     this.groupBox1.Name = "groupBox1"; 
     this.groupBox1.Size = new System.Drawing.Size(124, 155); 
     this.groupBox1.TabIndex = 13; 
     this.groupBox1.TabStop = false; 
     this.groupBox1.Text = "THE link label"; 
     // 
     // textDescription 
     // 
     this.textDescription.Location = new System.Drawing.Point(152, 136); 
     this.textDescription.Name = "textDescription"; 
     this.textDescription.Size = new System.Drawing.Size(100, 20); 
     this.textDescription.TabIndex = 14; 
     // 
     // label1 
     // 
     this.label1.AutoSize = true; 
     this.label1.Location = new System.Drawing.Point(259, 143); 
     this.label1.Name = "label1"; 
     this.label1.Size = new System.Drawing.Size(60, 13); 
     this.label1.TabIndex = 15; 
     this.label1.Text = "Description"; 
     // 
     // textName 
     // 
     this.textName.Location = new System.Drawing.Point(152, 163); 
     this.textName.Name = "textName"; 
     this.textName.Size = new System.Drawing.Size(100, 20); 
     this.textName.TabIndex = 16; 
     // 
     // label2 
     // 
     this.label2.AutoSize = true; 
     this.label2.Location = new System.Drawing.Point(262, 170); 
     this.label2.Name = "label2"; 
     this.label2.Size = new System.Drawing.Size(35, 13); 
     this.label2.TabIndex = 17; 
     this.label2.Text = "Name"; 
     // 
     // label3 
     // 
     this.label3.AutoSize = true; 
     this.label3.Location = new System.Drawing.Point(16, 11); 
     this.label3.Name = "label3"; 
     this.label3.Size = new System.Drawing.Size(283, 13); 
     this.label3.TabIndex = 18; 
     this.label3.Text = "Right Click on a link to retrieve properties. Left Click to visit"; 
     // 
     // textLinkData 
     // 
     this.textLinkData.Location = new System.Drawing.Point(152, 191); 
     this.textLinkData.Name = "textLinkData"; 
     this.textLinkData.Size = new System.Drawing.Size(100, 20); 
     this.textLinkData.TabIndex = 19; 
     // 
     // label4 
     // 
     this.label4.AutoSize = true; 

     this.label4.Location = new System.Drawing.Point(262, 198); 
     this.label4.Name = "label4"; 
     this.label4.Size = new System.Drawing.Size(53, 13); 
     this.label4.TabIndex = 20; 
     this.label4.Text = "Link Data"; 
     // 
     // checkBoxEnabled 
     // 
     this.checkBoxEnabled.AutoSize = true; 
     this.checkBoxEnabled.Location = new System.Drawing.Point(151, 218); 
     this.checkBoxEnabled.Name = "checkBoxEnabled"; 
     this.checkBoxEnabled.Size = new System.Drawing.Size(65, 17); 
     this.checkBoxEnabled.TabIndex = 21; 
     this.checkBoxEnabled.Text = "Enabled"; 
     this.checkBoxEnabled.UseVisualStyleBackColor = true; 
     // 
     // AddLink 
     // 
     this.AddLink.Location = new System.Drawing.Point(385, 64); 
     this.AddLink.Name = "AddLink"; 
     this.AddLink.Size = new System.Drawing.Size(75, 23); 
     this.AddLink.TabIndex = 22; 
     this.AddLink.Text = "Add Link"; 
     this.AddLink.UseVisualStyleBackColor = true; 
     this.AddLink.Click += new System.EventHandler(this.AddLink_Click); 
     // 
     // btnAmendLink 
     // 
     this.btnAmendLink.Enabled = false; 
     this.btnAmendLink.Location = new System.Drawing.Point(385, 99); 
     this.btnAmendLink.Name = "btnAmendLink"; 
     this.btnAmendLink.Size = new System.Drawing.Size(75, 23); 
     this.btnAmendLink.TabIndex = 23; 
     this.btnAmendLink.Text = "AmendLink"; 
     this.btnAmendLink.UseVisualStyleBackColor = true; 
     // 
     // checkBoxVisited 
     // 
     this.checkBoxVisited.AutoSize = true; 
     this.checkBoxVisited.Location = new System.Drawing.Point(151, 241); 
     this.checkBoxVisited.Name = "checkBoxVisited"; 
     this.checkBoxVisited.Size = new System.Drawing.Size(57, 17); 
     this.checkBoxVisited.TabIndex = 24; 
     this.checkBoxVisited.Text = "Visited"; 
     this.checkBoxVisited.UseVisualStyleBackColor = true; 
     // 
     // panel1 
     // 
     this.panel1.Controls.Add(this.textBox1); 
     this.panel1.Location = new System.Drawing.Point(474, 13); 
     this.panel1.Name = "panel1"; 
     this.panel1.Size = new System.Drawing.Size(200, 239); 
     this.panel1.TabIndex = 25; 
     // 
     // textBox1 
     // 
     this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill; 
     this.textBox1.Location = new System.Drawing.Point(0, 0); 
     this.textBox1.Multiline = true; 
     this.textBox1.Name = "textBox1"; 
     this.textBox1.Size = new System.Drawing.Size(200, 239); 
     this.textBox1.TabIndex = 0; 
     // 
     // Form1 
     // 
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
     this.ClientSize = new System.Drawing.Size(704, 264); 
     this.Controls.Add(this.panel1); 
     this.Controls.Add(this.checkBoxVisited); 
     this.Controls.Add(this.btnAmendLink); 
     this.Controls.Add(this.AddLink); 
     this.Controls.Add(this.checkBoxEnabled); 
     this.Controls.Add(this.label4); 
     this.Controls.Add(this.textLinkData); 
     this.Controls.Add(this.label3); 
     this.Controls.Add(this.label2); 
     this.Controls.Add(this.textName); 
     this.Controls.Add(this.label1); 
     this.Controls.Add(this.textDescription); 
     this.Controls.Add(this.groupBox1); 
     this.Controls.Add(this.lbllabel2); 
     this.Controls.Add(this.nudLinkAreaEnd); 
     this.Controls.Add(this.lbllabel1); 
     this.Controls.Add(this.nudLinkAreaStart); 
     this.Controls.Add(this.llblinkLabel1); 
     this.Name = "Form1"; 
     this.Text = "Form1"; 
     this.Load += new System.EventHandler(this.Form1_Load); 
     ((System.ComponentModel.ISupportInitialize)(this.nudLinkAreaStart)).EndInit(); 
     ((System.ComponentModel.ISupportInitialize)(this.nudLinkAreaEnd)).EndInit(); 
     this.groupBox1.ResumeLayout(false); 
     this.groupBox1.PerformLayout(); 
     this.panel1.ResumeLayout(false); 
     this.panel1.PerformLayout(); 
     this.ResumeLayout(false); 
     this.PerformLayout(); 

    } 

    #endregion 

    private System.Windows.Forms.LinkLabel llblinkLabel1; 
    private System.Windows.Forms.ColorDialog colorDialog1; 
    private System.Windows.Forms.Button btnLinkColor; 
    private System.Windows.Forms.Button btnActiveLinkColor; 
    private System.Windows.Forms.Button btnVisitedLinkColor; 
    private System.Windows.Forms.NumericUpDown nudLinkAreaStart; 
    private System.Windows.Forms.Label lbllabel1; 
    private System.Windows.Forms.NumericUpDown nudLinkAreaEnd; 
    private System.Windows.Forms.Label lbllabel2; 
    private System.Windows.Forms.ComboBox cmbLinkBehaviour; 
    private System.Windows.Forms.Label lbllabel3; 
    private System.Windows.Forms.GroupBox groupBox1; 
    private System.Windows.Forms.TextBox textDescription; 
    private System.Windows.Forms.Label label1; 
    private System.Windows.Forms.TextBox textName; 
    private System.Windows.Forms.Label label2; 
    private System.Windows.Forms.Label label3; 
    private System.Windows.Forms.TextBox textLinkData; 
    private System.Windows.Forms.Label label4; 
    private System.Windows.Forms.CheckBox checkBoxEnabled; 
    private System.Windows.Forms.Button AddLink; 
    private System.Windows.Forms.Button btnAmendLink; 
    private System.Windows.Forms.CheckBox checkBoxVisited; 
    private System.Windows.Forms.Panel panel1; 
    private System.Windows.Forms.TextBox textBox1; 
} 
} 

S'il vous plaît quelqu'un peut-il conseiller. Est le problème qu'il n'y a aucun handle de Windows pour le LinkLabel lorsque son événement Paint se produit.

Un grand merci à l'avance

Tony

+0

OMG s'il vous plaît poster code correspondant et les erreurs seulement! C'est juste trop, il n'y a pas de problème qui soit * aussi * compliqué. – Tomalak

+0

@Tomalak: il y a des problèmes * qui * compliqués; Cependant, je suis d'accord que cela n'en fait probablement pas partie. –

+1

Je sais. C'était une exagération rhétorique. ;-) @Tony: Modifiez votre question, faites le programme * le plus court possible * qui démontre uniquement le problème (par exemple 20 lignes de code maximum), formatez-le bien et vous aurez une réponse très bientôt. Retrait de votre propre réponse aidera également, mais seulement après votre modification. – Tomalak

Répondre

1

Le code exemple suivant montre comment vous pouvez définir la couleur d'étiquette de lien d'un ColorDialog:

using (var colorDlg = new ColorDialog()) 
{ 
    if (colorDlg.ShowDialog() == DialogResult.OK) 
    { 
     llblinkLabel1.LinkColor = colorDlg.Color; 
    } 
} 
+1

J'ai développé votre exemple de code en ajoutant un bloc 'using':' ColorDialog' est 'IDisposable', vous devez donc vous assurer qu'il est correctement éliminé. – stakx

+0

@stakx: merci pour la mise à jour. J'ai juste oublié de faire ça. –

0
private void AddLink_Click(object sender, EventArgs e) 
    { 
     // do proper validation and add only proper links 
     // this will help you to avoid the exception 
     if (!string.IsNullOrEmpty(textLinkData.Text) && 
      nudLinkAreaEnd.Value > 0 && 
      nudLinkAreaStart.Value >= 0 && 
      nudLinkAreaStart.Value < llblinkLabel1.Text.Length) 
     { 
      LinkLabel.Link link = new LinkLabel.Link(); 
      link.Description = textDescription.Text.ToString(); 
      link.LinkData = textLinkData.Text.ToString(); 
      link.Name = textName.Text.ToString(); 
      link.Enabled = checkBoxEnabled.Checked; 
      link.Visited = checkBoxVisited.Checked; 
      link.Start = (int)nudLinkAreaStart.Value; 
      link.Length = (int)nudLinkAreaEnd.Value; 
      try 
      { 
       llblinkLabel1.Links.Add(link); 
      } 
      catch (InvalidOperationException exception) // links can't overlap 
      { 
       MessageBox.Show("Links are overlaping"); 
      } 

     } 
Questions connexes