单击“链接标签”上的“打开文件”对话框

时间:2014-03-05 08:19:21

标签: c# .net background linklabel fileopendialog

我已经创建了一个登录面板,其中我使用了透明组框(带有用户名文本框和密码文本框),并在背景上使用了一个壁纸,现在我在这个日志上使用了一个链接标签在面板中单击,用户可以更改登录面板的背景壁纸。

意味着当用户点击链接标签(lnklblChangeBackGround)上的文本“点击此处更改背景”打开对话框将打开,用户可以从此处选择壁纸,然后单击确定或选择壁纸将分配给登录面板的背景

任何人都可以帮助我吗

  1. 如何通过点击链接标签
  2. 打开一个打开的对话框
  3. 如何将选择的壁纸指定给我登录面板的背景
  4. 注意:我是使用VS#使用C#创建的。它是一个桌面应用程序,我在这里使用winform。

1 个答案:

答案 0 :(得分:2)

首先,您必须向链接标签添加一个事件(LinkClicked)。


只需将此代码放在此处即可打开文件对话框。

private String getPicture()
{
    string myPic = string.Empty;

    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    openFileDialog1.Filter = "jpg (*.jpg)|*.jpg|png (*.png)|*.png";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
        myPic = openFileDialog1.FileName;

    return myPic;
}

您可以编辑过滤器以避免用户选择图像,您认为不支持。

使用下面的代码,您可以设置pictureBox的背景图像

private void setBackground(String picture)
{
    pictureBox1.Image = null;
    pictureBox1.Image = Image.FromFile(picture);
}

最终版本看起来像这样

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    String myFile = getPicture();
    setBackground(myFile);
}

如果这对你来说代码太多或太复杂,那么你可以将它全部放在一个像这样的函数中

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    string myPic = string.Empty;

    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    openFileDialog1.Filter = "jpg (*.jpg)|*.jpg|png (*.png)|*.png";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
        myPic = openFileDialog1.FileName;
    pictureBox1.Image = null;
    pictureBox1.Image = Image.FromFile(myPic);
}
相关问题