“最近访问的网站”;c#应用程序

本文关键字:应用程序 网站 最近 访问 | 更新日期: 2023-09-27 18:03:45

让我先澄清一下:是的,这是课堂作业。不,我不只是想要答案。我真的被困住了,正在寻求帮助。

我会尽可能具体地说。我想我能做到的最好的方法就是把书中给出的提示贴出来:

创建一个名为RecentlyVisitedSites的项目,该项目包含一个表单,其中包含三个链接标签的列表,这些链接标签链接到您选择的任何三个网站。当用户单击LinkLabel时,链接到该站点。当用户的鼠标悬停在LinkLabel上时,显示一个简短的消息来解释网站的目的。用户单击链接后,将最近选择的链接移到列表顶部,并将其他两个链接移到下面,确保每个链接都保留正确的解释。

我的主要问题是,我找不到一个好的方法来制作linklabel的"列表",既允许我在第一个地方使用 linklabel,又允许我以列表的方式重新排列项目。这是我最好的尝试:

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]);
        }
    }
}

我总是卡住,要么因为链接不会显示,要么我不能按照提示的方式使用它们,或者其他一些事情。被注释掉的代码是我在询问老师后尝试使用的另一种方法,但我没有从我们的谈话中得到太多,而且它也不起作用。

我应该怎么做才能让这些链接显示在页面上,在一个列表中,在那里我可以让他们点击,在浏览器中打开规定的网页,并能够按照提示要求的方式重新排列它们?

再一次,我不只是要求得到一个答案,我只是碰壁,我很沮丧,因为我似乎找不到一个像样的解释来帮助我理解我实际上需要做什么。

“最近访问的网站”;c#应用程序

Form1上的每个LinkLabel使用此格式:

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