Fragen bzgl linkLabel

Briefkasten

Erfahrenes Mitglied
Hallo,

Normalerweise verwendet man Linklabel um einen Hyperlink zu erstellen.
Der Code wäre dieser:
PHP:
...
        this.linkLabel1 = new System.Windows.Forms.LinkLabel();
        this.linkLabel1.Location = new System.Drawing.Point(34, 56);
        this.linkLabel1.Size = new System.Drawing.Size(224, 16);
        this.linkLabel1.AutoSize = true;
        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;
        this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
        this.linkLabel1.LinkArea = new System.Windows.Forms.LinkArea(0, 8);
        this.linkLabel1.Links[0].Visited = true;
        this.linkLabel1.Text = "Register Online.  Visit Microsoft.  Visit MSN.";
        this.linkLabel1.Links.Add(42, 3, "www.msn.com");
        this.ClientSize = new System.Drawing.Size(292, 266);
        this.Controls.AddRange(new System.Windows.Forms.Control[]
		{this.linkLabel1});
        this.Text = "Link Label Example";
...

        this.linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
        string target = e.Link.LinkData as string;
        if(null != target && target.StartsWith("www"))
        {
            System.Diagnostics.Process.Start(target);
        }
        else
        {    
            MessageBox.Show("Item clicked: " + target);
        }
...

Folgendes Problem. Meine Url fangt nicht mit www sondern mit http://xxx.yyy.de an.
this.linkLabel1.Links.Add(1, 1, "http://asudiasd.deishd.de");
Wieso funktioniert der Linkt nur wenn er mit http://www. anfangt?

Meine 2te Frage wäre noch, ich will anstatt auf eine Webseite zu linken auf eine Emailadresse linken. Also wenn man auf den Link klickt soll sich der Outlook oder das Standart Email Programm das der User verwendet öffnen und eine Email schicken z.B. an xxasd@gmx.net

this.linkLabel1.Links.Add(1, 1, "mailto:adasd@gmx.net");

Das geht aber Leider auch nicht.
Kann mir jemand sagen wie ich das mit der Emailadresse und der Url die mit http anfangt hinbekomme?
Benötigt man dafür viel Code?
Bin nämlich ein Blutiger Anfänger in C#.

mgf brain
 
Code:
if(null != target && target.StartsWith("www"))
        {
            System.Diagnostics.Process.Start(target);
        }
        else
        {    
            MessageBox.Show("Item clicked: " + target);
        }

Du fragst da ab, ob der Link mit "www" anffängt und nur wenn ja, dann startet er einen Prozess .. hier liegt das Problem.
 
Hi!

Zum Mail-Problem:
Am besten nutzt Du die Process-Klasse, ist zwar etwas umständlicher, funktioniert aber definitiv!

Code:
            Dim p As New Process
            p.StartInfo.FileName = "mailto:mail@test.com"
            p.Start()

Zum URL-Problem:
Setz einfach ein "http://" davor (ohne Anführungszeichen):

Code:
            Dim p As New Process
            p.StartInfo.FileName = "http://test.tester.com"
            p.Start()

MfG
..::SD::..
 
Ja eh, Du hast nur anscheinend übersehen, dass er abfragt, ob der hinterlegte Link mit "www" beginnt und nur dann wird der Link gestartet. Da liegt sein Problem :)
 

Neue Beiträge

Zurück