簡體   English   中英

單擊鏈接標簽上的“打開文件”對話框

[英]Open File Dialog box on Clicking Link Label

我創建了一個登錄面板,在其中使用了透明組框(帶有用戶名文本框和密碼文本框),並在背景上使用了牆紙,現在我在此登錄面板上使用了鏈接標簽:單擊該按鈕,用戶可以更改登錄面板的背景牆紙。

表示當用戶單擊帶有文本“單擊此處更改背景”的鏈接標簽(lnklblChangeBackGround)時,將打開打開對話框,用戶可以從此處選擇牆紙,然后單擊“確定”或“選擇牆紙將被分配給背景”登錄面板

有人可以幫我嗎

  1. 我如何通過單擊鏈接標簽來打開一個打開的對話框
  2. 如何將選擇的牆紙分配給登錄面板的背景

注意:我正在使用C#和VS 2010創建此文件。 這是一個桌面應用程序,我在這里使用winform。

首先,您必須在鏈接標簽中添加一個事件(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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM