【问题标题】:Open File Dialog box on Clicking Link Label单击链接标签时打开文件对话框
【发布时间】:2014-03-05 08:19:21
【问题描述】:

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

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

谁能帮帮我

  1. 如何通过单击链接标签打开打开的对话框
  2. 如何将选定的壁纸分配给我的登录面板的背景

注意:我正在使用 C# 使用 VS 2010 创建它。它是一个桌面应用程序,我在这里使用的是 winform。

【问题讨论】:

    标签: c# .net background linklabel fileopendialog


    【解决方案1】:

    首先,您必须将事件 (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;
    }
    

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

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

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

    【讨论】:

    • 谢谢哥们,帮我锻炼一下 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    相关资源
    最近更新 更多