[英]Open File Dialog box on Clicking Link Label
我創建了一個登錄面板,在其中使用了透明組框(帶有用戶名文本框和密碼文本框),並在背景上使用了牆紙,現在我在此登錄面板上使用了鏈接標簽:單擊該按鈕,用戶可以更改登錄面板的背景牆紙。
表示當用戶單擊帶有文本“單擊此處更改背景”的鏈接標簽(lnklblChangeBackGround)時,將打開打開對話框,用戶可以從此處選擇牆紙,然后單擊“確定”或“選擇牆紙將被分配給背景”登錄面板
有人可以幫我嗎
首先,您必須在鏈接標簽中添加一個事件(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.