2017-10-26 4 views
0

したがって、私はVisual Studio 2017でOSを作成し、「背景の変更」オプションを追加しました。これはボタンのコードです:ユーザーがフォームの背景イメージを変更できるようにします。閉じた後に背景画像をメモリに保存します。フォームのロード時に背景画像をロードする

private void changeDesktopBackgroundToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog dialog = new OpenFileDialog(); 

     if (dialog.ShowDialog() == DialogResult.OK) 
     { 
      this.BackgroundImage = Image.FromFile(dialog.FileName); 
      this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; 
     } 
    } 

フォームをロードしたときに背景画像を保存します。これどうやってするの?私はそれがMemoryStreamのものだと思う。

+0

が、の概念:
次のコードを使用して画像を読み込むことができますオペレーティング·システム。とにかく、いくつかの助け? –

+0

イメージを一時的にどこかに保存してから、_app_ oh_ sorry _OS_が起動したときに再ロードしてそれぞれのコントロールに割り当てます。 –

+0

Image.Saveの使い方はどうですか? –

答えて

0

ケースのメモリに画像を保存できません。実際のOSを考えてみましょう:
コンピュータがシャットダウンされていれば、メモリ内のすべてのデータは消えてしまいます。 イメージをハードドライブに保存する必要があります。あなたのOSをロードすると、画像が存在する場合は、たとえばチェックすることができ(あなたのケースでは、あなたのフォームをロード)

Image.Save(string filepath); 


したがって、あなたはこれを使用することができます。それをハードドライブからロードし、バックグラウンドとして設定します。ファイルが存在しない場合は、デフォルトの背景イメージを設定します。それは本当にオペレーティングシステムではありません原因私は」、あなたは「OS」それを呼び出すことができるかどうかわからない

Image.FromFile(string filePath); 
+0

うーん...何かここでは動作しません。私が書いたコードに基づいて画像を保存する方法を教えてください。私は3つのエラーを取得する –

+0

どのような種類のエラーがありますか? コードを表示して問題を解決してください – CoLiNaDE

関連する問題