我创建了一个登录面板,其中使用了透明组框(带有用户名文本框和密码文本框),并在背景上使用了墙纸,现在我在此登录面板上使用了链接标签单击它,用户可以更改登录面板的背景墙纸。
意味着当用户单击带有文本“单击此处更改背景”的链接标签(lnklblChangeBackGround)时,将打开打开对话框,用户可以从此处选择墙纸,然后单击确定或选择墙纸将分配给背景登录面板
任何人都可以帮我解决这个问题
- 如何通过单击链接标签打开打开的对话框
- 如何将选择的壁纸分配给我的登录面板的背景
我创建了一个登录面板,其中使用了透明组框(带有用户名文本框和密码文本框),并在背景上使用了墙纸,现在我在此登录面板上使用了链接标签单击它,用户可以更改登录面板的背景墙纸。
意味着当用户单击带有文本“单击此处更改背景”的链接标签(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;
}
您可以编辑过滤器以避免用户选择图像,您认为这是不支持的。
使用下面的代码,您可以设置图片框的背景图像
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);
}