2008/07/25(Fri) 17:30:10 編集(投稿者)
■No22558 (初心者なハム さん) に返信
>>初心者なハムさんが書かれている例では、パス名を得る為にユーザーに
>>入力を求めています。ですが、これをユーザーに問合せることなく得ようとするなら
>>全く別の方法でパス名を得る必要があります。
>>で、そもそも、初心者なハムさんはどのようにしてパス名をプログラムに
>>引き渡すつもりなんでしょう?
>>そこがハッキリしないと先に話が進みません。
> おっしゃるとおりです.その大変申しわけないのですが,どのようにしてパス名をプログラムに
> 引き渡す方法が分かっておりません.なので,今のところ仮ですが,パス名を得る為にユーザーに入力を求める方法で
> 保存を行っております.
>
ユーザ毎(ExeをインストールしたPC毎)に保存先、ファイル名を変更する必要があるのであれば
設定ファイルを用意して記述しておいて、プログラム起動時に設定ファイルを読み込み、読み込んだ
保存先、ファイル名を利用する。
ユーザ毎(ExeをインストールしたPC毎)に保存先、ファイル名を変更する必要がないのであれば
あまりお勧めしませんがプログラム中に定数で保持する。
保存の1回目のみダイアログを表示する必要があるのであれば、メンバ変数を用意して
メンバ変数が空白の場合、ダイアログを表示。
2回目以降はメンバ変数を利用する。
こんな感じ
private string path = string.empty;
private void ToolStripMenultem3_Click(object sender, EventArgs e)
{
if (path == string.empty)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
path = saveFileDialog1.FileName;
} else {
return;
}
}
pictureBox1.Image.Save(path);
}
方法としては他にもあると思いますが、とりあえずこんな感じ。