0

透明なグループ ボックス (ユーザー名のテキスト ボックスとパスワードのテキスト ボックス) を使用したログイン パネルを作成し、背景に壁紙を使用しました。このログイン パネルでリンク ラベルを使用しました。ユーザーがログインパネルの背景の壁紙を変更できるものをクリックします。

Means when user clicks on the link label (lnklblChangeBackGround) with text "Click Here to Change Background" open dialogue box will open and user can select the Wallpaper from here and then by clicking on OK or Select the wallpaper will be assigned to background of the log in panel

Can any one help me out that

  1. how can i open a open dialogue box by clicking on the link label
  2. how can i assign a select wallpaper to the background of my log in panel

Note: I'm Creating this using VS 2010 using C#. and it's a desktop App and i'm using winform here.

4

1 に答える 1

3

最初に、イベント (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);
}

コードが多すぎたり、複雑すぎたりする場合は、次のようにすべてを 1 つの関数にまとめることができます。

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);
}
于 2014-03-05T08:43:37.927 に答える