我已经创建了一个登录面板,其中我使用了透明组框(带有用户名文本框和密码文本框),并在背景上使用了一个壁纸,现在我在这个日志上使用了一个链接标签在面板中单击,用户可以更改登录面板的背景壁纸。
意味着当用户点击链接标签(lnklblChangeBackGround)上的文本“点击此处更改背景”打开对话框将打开,用户可以从此处选择壁纸,然后单击确定或选择壁纸将分配给登录面板的背景
任何人都可以帮助我吗
答案 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);
}