C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: SaveFileDialog


(過去ログ 49 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■26935 / inTopicNo.1)  SaveFileDialog
  
□投稿者/ 七篠 (1回)-(2008/10/23(Thu) 10:18:38)

分類:[C#] 

SaveFileDialog で既存のファイルを選択した時の上書きの確認メッセージが、 SaveFileDialog を呼び出したフォームを
一度全部隠して再描画させないと出ません。

解決法ご存知の方いましたらアドバイスお願いします。
引用返信 編集キー/
■26937 / inTopicNo.2)  Re[1]: SaveFileDialog
□投稿者/ みきぬ (173回)-(2008/10/23(Thu) 10:33:40)
回答でなくて確認ですいませんが、
SaveFileDialog が出している上書きの確認ウインドウがフォームの後ろに隠れてしまって、いったん最小化してから再表示させないと表にでてきてくれないってことですよね?

# 自分もときたま(SaveFileDialogじゃないけど)遭遇しますが、解決方法はわかんないです

No26935 (七篠 さん) に返信
> SaveFileDialog で既存のファイルを選択した時の上書きの確認メッセージが、 SaveFileDialog を呼び出したフォームを
> 一度全部隠して再描画させないと出ません。
>
> 解決法ご存知の方いましたらアドバイスお願いします。
引用返信 編集キー/
■26938 / inTopicNo.3)  Re[2]: SaveFileDialog
□投稿者/ 七篠 (3回)-(2008/10/23(Thu) 10:50:08)
レスありがとうございます。

> SaveFileDialog が出している上書きの確認ウインドウがフォームの後ろに隠れてしまって、
上記の症状かどうかは分かりませんが、

> いったん最小化してから再表示させないと表にでてきてくれないってことですよね?
ダイアログが操作不能なので最小化はできません。呼び出し元のフォームを全て覆うほどの大きさの
他のウィンドウでフォームを覆ったあと、フォームをタスクバーでアクティブにすると
確認メッセージが出てくるという状況です。このことから、呼び出し元で再描画命令をかければ
良さそうですが、 SaveFileDialog 上書き確認のイベントってキャッチできるのでしょうか?
引用返信 編集キー/
■26939 / inTopicNo.4)  Re[3]: SaveFileDialog
□投稿者/ みきぬ (174回)-(2008/10/23(Thu) 11:04:27)
No26938 (七篠 さん) に返信
> ダイアログが操作不能なので最小化はできません。呼び出し元のフォームを全て覆うほどの大きさの
> 他のウィンドウでフォームを覆ったあと、フォームをタスクバーでアクティブにすると
> 確認メッセージが出てくるという状況です。このことから、呼び出し元で再描画命令をかければ
> 良さそうですが、...
ですね。子画面を表示したときに子画面自身の Refresh をおこなえばとりあえずの回避はできたと記憶しています。
# 私のときは自作の子画面だったのでこれができた

> SaveFileDialog 上書き確認のイベントってキャッチできるのでしょうか?
うーん、直接のイベントはないので一筋縄ではいかないでしょうね…。

引用返信 編集キー/
■26967 / inTopicNo.5)  Re[4]: SaveFileDialog
□投稿者/ ま (144回)-(2008/10/24(Fri) 02:04:22)
form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles Button1.Click

        Dim f2 As New Form2
        Dim dr As DialogResult = f2.ShowDialog()

        MessageBox.Show(dr)


    End Sub

Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
        Dim sfd As New SaveFileDialog()
        sfd.CheckFileExists = True
        Dim dr As DialogResult = sfd.ShowDialog()

        MessageBox.Show(dr)

    End Sub
End Class

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();

            DialogResult dr = f2.ShowDialog();

            MessageBox.Show(dr.ToString());
        }
    }
}

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.CheckFileExists = true;
            DialogResult dr = sfd.ShowDialog();

            MessageBox.Show(dr.ToString());

        }
    }
}

VBもC# も上書き存在確認のダイアログメッセージが普通に出たけど、こーゆーことではなくて?


引用返信 編集キー/
■26977 / inTopicNo.6)  Re[5]: SaveFileDialog
□投稿者/ 七篠 (5回)-(2008/10/24(Fri) 10:49:16)
返信ありがとうございます。

ま さんのように、新規プロジェクトから SaveFileDialog を呼び出すだけの処理だと問題ないんですけど、
現在書いているコードだと件の状態になってしまうのです。
引用返信 編集キー/
■26979 / inTopicNo.7)  Re[6]: SaveFileDialog
□投稿者/ 渋木宏明(ひどり) (931回)-(2008/10/24(Fri) 11:06:38)
渋木宏明(ひどり) さんの Web サイト
> ま さんのように、新規プロジェクトから SaveFileDialog を呼び出すだけの処理だと問題ないんですけど、
> 現在書いているコードだと件の状態になってしまうのです。

だとすると、SaveFileDialog ではなく、今書いているコードのほうに何か問題があると考えるのが普通のような気がしますけど。
引用返信 編集キー/
■26981 / inTopicNo.8)  Re[7]: SaveFileDialog
□投稿者/ 七篠 (6回)-(2008/10/24(Fri) 11:20:35)
> だとすると、SaveFileDialog ではなく、今書いているコードのほうに何か問題があると考えるのが普通のような気がしますけど。
すいません、その通りでした。 PictureBox の Paint イベント中で Invalidate を呼び出しているのが原因でした。
ご迷惑をかけ、申し訳ありませんでした。
引用返信 編集キー/
■27002 / inTopicNo.9)  Re[8]: SaveFileDialog
□投稿者/ 七篠 (7回)-(2008/10/24(Fri) 13:45:51)
No26981 (七篠 さん) に返信
>>だとすると、SaveFileDialog ではなく、今書いているコードのほうに何か問題があると考えるのが普通のような気がしますけど。
> すいません、その通りでした。 PictureBox の Paint イベント中で Invalidate を呼び出しているのが原因でした。
> ご迷惑をかけ、申し訳ありませんでした。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -