Entwickler-Ecke
WinForms - Linklabel
garfi - Mo 07.11.05 00:03
Titel: Linklabel
Ich würde gerne den Linklabel benutzen, um von meinem Programm direkt auf eine Website zu gelangen. Wenn ich aber darauf klicke, passiert einfach nichts...
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs); const link1= 'http://www.mandarintools.com'; begin linklabel1.Text:= link1; linklabel1.Links.Add(0,link1.Length,link1); ... |
Was habe ich da falsch gemacht?
Moderiert von raziel: Delphi-Tags hinzugefügt.Moderiert von Christian S.: Topic aus .NET verschoben am So 06.11.2005 um 23:18
bjd - Mi 28.12.05 14:33
Titel: Ganz einfach!
Hi garfi!
Ich hab da einen anderen Quelltext, der ganz gut funktioniert! 8)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject); begin if shellexecute handle,'open','http://www.delphi-forum.de',nil,nil,sw_show)<=32 then MessageDlg('Internetseite konnte nicht geöffnet werden!'+#13+ 'Versuchen Sie es zu einem späteren Zeitpunkt noch einmal', mtError, [mbOK], 0); end; |
Statt "http://www.delphi-forum.de" kann natürlich alles andere eingesetzt werden!
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt
kiar - Mi 28.12.05 14:43
hallo Benjamin,
du siehst schon, das du das hier in einem c# forum gepostet hast?
da wird ungern gesehen, das man die API nimmt.
raik
Christian S. - Mo 02.01.06 19:45
Hallo!
Das Linklabel tut von sich aus gar nichts ;-) Du musst im OnClick-Event selber dafür sorgen, dass sich etwas tut. Hier mal das Beispiel, welches auch in der Dokumentation enthalten ist (ist das im SDK 2.0 hinzugekommen?):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| private LinkLabel linkLabel1 = new LinkLabel(); public void InitializeMyLinkLabel() { linkLabel1.AutoSize = true; linkLabel1.Location = new System.Drawing.Point(8,16); linkLabel1.Size = new System.Drawing.Size(135,13); linkLabel1.Text = "Click here to get more info.";
linkLabel1.Links.Add(6,4,"www.microsoft.com");
linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
this.Controls.Add(linkLabel1); }
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; System.Diagnostics.Process.Start(e.Link.LinkData.ToString()); } |
Ist zwar in C#, sollte Dir aber trotzdem helfen.
Grüße
Christian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!