2016-08-24 3 views
1

空気を最初に空にする:はい、これはクラスワークです。いいえ、私は答えがほしいだけではありません。私は本当に立ち往生していて、援助を探しています。「最近訪問したサイト」のアプリケーションC#

私はできる限り具体的になるでしょう。

選択した任意の3つのWebサイトにリンクする3つのLinkLabelsのリストを含むフォームを含むRecentVisitedSitesという名前のプロジェクトを作成します。ユーザーがLinkLabelをクリックすると、そのサイトにリンクします。ユーザーのマウスがLinkLabel上を移動すると、サイトの目的を説明する簡単なメッセージが表示されます。ユーザーがリンクをクリックすると、最後に選択したリンクをリストの一番上に移動し、他の2つのリンクを下に移動し、リンクごとに正しい説明を保持します。これで

私の主な問題は、私は両方とも最初の場所使用に LinkLabels私を可能にLinkLabelsの「リスト」を作るための良い方法を見つけることができないということであるとは私が項目を並べ替えることができますリスト形式でここでの私の最高の行くです:

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

 
namespace RecentlyVisitedSites 
 
{ 
 
    public partial class Form1 : Form 
 
    { 
 

 
     LinkLabel[] links = new LinkLabel[3]; 
 
     
 
     public Form1() 
 
     { 
 
      InitializeComponent(); 
 
      /*LinkLabel[] links = new LinkLabel[3]; 
 
      links[0] = new LinkLabel(); 
 
      links[0].Text = "google.com"; 
 
      links[0].Location = new System.Drawing.Point(100, 25); 
 
      links[0].Links.Add(0, 0, "www.google.com"); 
 
      this.Controls.Add(links[0]);*/ 
 

 
      LinkLabel[] links = new LinkLabel[3]; 
 
      links[0] = googleLabel; 
 
      links[1] = facebookLabel; 
 
      linksPanel.Controls.Add(links[0]); 
 
      linksPanel.Controls.Add(links[1]); 
 
     } 
 

 
     private void googleLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
 
     { 
 
      System.Diagnostics.Process.Start("IExplore", "http://www.google.com"); 
 
      links[0] = googleLabel; 
 
      linksPanel.Controls.Remove(links[0]); 
 
      linksPanel.Controls.Add(links[0]); 
 
     } 
 

 
     private void facebookLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
 
     { 
 
      System.Diagnostics.Process.Start("IExplore", "http://www.facebook.com"); 
 
      links[0] = facebookLabel; 
 
      linksPanel.Controls.Remove(links[0]); 
 
      linksPanel.Controls.Add(links[0]); 
 
     } 
 
    } 
 
}

とリンクが表示されませんので、私は常にどちらか動けなくなる、または私は彼らにプロンプ​​トが望むように見える方法を使用することはできません、または何か他のもの。コメントアウトされたコードは先生に尋ねた後に使用しようとしたものですが、私は会話の多くを得ておらず、それもうまくいきませんでした。

これらのリンクをページ上に表示するには、リスト内でクリック可能にしたり、ブラウザで指定されたWebページを開いたり、プロンプトが表示されるように並べ替えることができます?

私は実際に必要なことを理解するのに役立つまともな説明を見つけることができないので、私はちょうど壁にぶつかって、私は挫折しています。やってどんな助けもありがとう。

+0

私はしばらくのWindowsフォームを行っていないが、私はあなたがFlowLayoutPanelのような制御を必要とすると思う - 自動的にその子を配置している(もしあればFlowDirectionをTopDownに設定すると、必要に応じて垂直になります)。その後、項目を再配置するためにFlowLayoutPanel.Controls.SetChildIndexを使用できます。 WPFを使用できますか?この種のものは本当に簡単でしょう。 – vesan

+0

@vesanそれは私が必要としたプッシュだったようですね...ありがとう! – JetlagMadman

答えて

-1

Form1上の各LinkLabelため、この形式を使用します。

LinkLabel.LinkVisited = true; 
System.Diagnostics.Process.Start("IExplore, http://www.Facebook.com"); 
+0

申し訳ありませんが、私はこのソリューションが質問にまったくどのように役立つのか分かりません。 – axlj

関連する問題