• 締切済み

ボタン押下時のアラート表示の残像が残る

以下のプログラムで、btnUpdateを実行すると、アラート表示されるのですが、 アラートのOKボタンを押さず、ぐりぐりと画面上移動させるとその軌跡が残像として残ります。 どのようにすれば、このような残像が残らないようにする事が出来るでしょうか。 ご存じの方、ご教授願います。 protected void btnUpdate_Click(object sender, EventArgs e) { if(xxxx == aaaa) { 処理A} else {AlertBox("Input Code");}   } //アラート表示 private void AlertBox(String msg) { string startupScript = ""; string strScript = ""; msg = msg.Replace("'", "\""); msg = msg.Replace("\n", " "); strScript = " alert('" + msg + "')"; startupScript = "<script language='JavaScript'>" + strScript + "</script>"; ClientScript.RegisterStartupScript(this.GetType(), "key1", startupScript); }

みんなの回答

  • onos
  • ベストアンサー率81% (127/155)
回答No.1

HTMLに直接alertを表示するスクリプト書いて、それを実行したときは軌跡は残らないんでしょうか? 別のPCでも同じように軌跡はのこるんでしょうか? プログラムで解決できる問題ではなく、PCの処理速度の問題のような気がしますが。。。

yamachan_tomo
質問者

お礼

画面の表示が全て完了するまえに、alertメソッドを呼び出していたのですが、それがわるかったようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • モーダルダイアログでボタン押下時、違うモーダル出現

    次のような関数を用意しています。 ただ、下のコード内 strScript = "window.showModalDialog('" + url + "', '','dialogWidth=150px;dialogHeight=150px'); return false"; の行を実行するところで、「return ステートメントが関数の外にあります」というエラーが発生 してしまいます。 「http://youtu.dai-li.info/home.php?u=FR%2BtFe%2BwMeKPrvlPHoQE895YV%2BKb5Hac3pYsnagzXXukzREDK1Hxxh4H4A%3D%3D&b=29」では、return falseをつけなければ、ポストバックされてしまうとかいてあった為、 追記しているのですが。。。 対応方法をご存じの方、ご教授の程お願い致します。 private void LaunchModal(string url) { string startupScript = ""; string strScript = ""; strScript = "window.showModalDialog('" + url + "', '','dialogWidth=150px;dialogHeight=150px'); return false"; startupScript = "<script language='JavaScript'>" + strScript + "</script>"; ClientScript.RegisterStartupScript(this.GetType(), "key2", startupScript); }

  • 表示ボタン押下すると、テキストボックスに現在日時を表示する方法(C#.NET)

    C#.NETの初心者です。 Visual Web Developerを使用して勉強しています。 ボタンを押下後、テキストボックス(txtDatetime)に現在日時を取得するために、以下のような記述等をしていますが、うまいきません。 ご教授頂けますよう、よろしくお願い致します。 --------------------------------------------------------------- protected void Button1_Click(object sender, EventArgs e) { txtDatetime.Text = DateTime.Now; } ---------------------------------------------------------------

  • asp.net メッセージボックス表示後の判定

    削除ボタン押下時の処理でメッセージダイアログを表示しました。 この後、ダイアログのOKボタンを押された時の処理をコーディングしたいのですが、 どうすれば「OKボタン」or「キャンセル」どちらが押されたか判定できるのですか? お願いします。 Protected Sub BtnDel_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnDel.Click ’ダイアログ表示 ScriptManager.RegisterStartupScript(Me, Me.GetType(), "msgbox", "confirm('" & "削除してもよいですか?" & "');", True) ’OKボタンが押された時削除処理を行う <ここが不明> End Sub

  • C#で動的に配置したコントロール

    はじめまして 開発歴1年未満の開発者ですがよろしくお願いします。 開発環境 Visual Studio 2008 C# ASP.NET protected void Page_Load(object sender, EventArgs e) { TextBox TextBox = new TextBox(); TextBox.ID = "TextBox1"; TextBox.Text = "C# ASP.NET"; form1.Controls.Add(TextBox); } protected void Button1_Click(object sender, EventArgs e) { string strTextBox1 = ??????? } と上記のように読み込み時に、テキストボックスのみを動的に配置し、デザイナで配置したのボタンを押した際に、テキストボックスに入力された値を、取得したいのですが、方法がわかりません・・・ お忙しいとは、思いますがご回答よろしくお願いします。

  • RegisterClientScriptBlockの使い方について

    皆さんこんばんは、宜しくお願い致します。 現在ASP.NETでWebアプリを開発しておりますが、自作共通クラスを使用 したRegisterClientScriptBlockがうまく動作しません。ご存知の方が いらっしゃいましたら、ご教示をお願い致します。 プラットフォーム:ASP.NET2.0 開発環境:Visual studio 2005 Pro 開発言語:C# 使用OS:WindowsXP Pro ブラウザ:IE7 ▽ Default.aspx.cs ▽ using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnRef_Click(object sender, EventArgs e) { // Commonクラスのインスタンス作成 Common objCm = new Common(); objCm.mAlertTest(); } } ▽ App_Code/Common.cs ▽ using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public class Common : System.Web.UI.Page { public void mAlertTest() { // ClientScriptManagerクラスのインスタンス作成 ClientScriptManager objCsm = ClientScript; // アラート表示 objCsm.RegisterClientScriptBlock( this.GetType(), "alert", "<script language=JavaScript>alert('test');</script>" ); } } 症状としましては、ビルド時にエラーは発生しませんが、btnRef_Click メソッドを実行してもポストバックされるだけでアラートが表示 されません。mAlertTestメソッドの内容をbtnRef_Click内に記述すると 正常にアラートが表示されます。 Default.aspx内にスクリプトが登録されていない、という事でしょうか? ご回答をお待ちしております。宜しくお願い致します。

  • C#について・・・

    次のようなブログラムなのですが、ラジオボタンが上手く切り替わりません。 どこを修正すると上手くいくでしょうか? <<文字数オーバーのため省略>> public Form1() { // // Windows フォーム デザイナ サポートに必要です。 // InitializeComponent(); if(isJapanStyle) { label5.Text=string.Format("0時0分0秒"); label6.Text=string.Format("0時0分0秒"); } else { label5.Text=string.Format("00:00:00"); label6.Text=string.Format("00:00:00"); } // // TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。 // <<文字数オーバーのため 省略>> static void Main() { Application.Run(new Form1()); } protected void button1_Click(object sender, System.EventArgs e) { if(isJapanStyle) { label5.Text=string.Format("{0}時{1}分{2}秒",dt.Hour,dt.Minute,dt.Second); } else { label5.Text=DateTime.Now.ToString("T"); } recTime=dt; timer2.Stop(); timer3.Start(); } private void button2_Click(object sender, System.EventArgs e) { Application.Exit(); } private void timer1_Tick(object sender, System.EventArgs e) { dt=DateTime.Now; if(isJapanStyle) { label4.Text=string.Format("{0}時{1}分{2}秒",dt.Hour,dt.Minute,dt.Second); } else { label4.Text=DateTime.Now.ToString("T"); } } private void timer3_Tick(object sender, System.EventArgs e) { keika=dt-recTime; if(isJapanStyle) { label6.Text=string.Format("{0}時間{1}分{2}秒",keika.Hours,keika.Minutes,keika.Seconds); } else { label6.Text=string.Format("{0}:{1}:{2}",keika.Hours,keika.Minutes,keika.Seconds); } } private void timer2_Tick(object sender, System.EventArgs e) { timer3.Stop(); } private void radioButton2_CheckedChanged(object sender, System.EventArgs e) { isJapanStyle=false; } private void radioButton1_CheckedChanged(object sender, System.EventArgs e) { isJapanStyle=true; } } }

  • PeekMessage()について

    Windowsフォームアプリケーションです。 ループさせたいイベント(button1)中に、button2のイベントを行いたいのでPeekMessage()を使って以下のようにしました。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { while(1){ PeekMessage(&msg, NULL, 0, 0, PM_REMOVE); TranslateMessage(&msg); DispatchMessage(&msg); // ループさせたいイベント ・・・・・・・・・・・・・・・・・・・・ } } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {    ・・・・・・・・・・・・・・・・・・・・ } アプリケーション起動後、button1をクリックし、後にbutton2をクリックしようとすると代わりにbutton1がクリックされてしまいます。 PeekMessage()の使い方が間違っているのでしょうか。

  • ボタンを押した時のコーディング方法について

    ネットや書籍で調べてみたものの要領を得なかったため質問させていただきます。 開発環境:visual web developer 画面デザイン:テキストボックス(ID:TextBox1)、ボタン(ID:DeleteButton)、ボタン(ID:UpdateButton)、ボタン(ID:CloseButton) 従来の記述方法:ボタン一つずつの単位で押された時の処理を書いていました。 Protected Sub DeleteButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles DeleteButton.Click TextBox1.Text = "削除しました" End Sub Protected Sub UpdateButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles UpdateButton.Click TextBox1.Text = "更新しました" End Sub Protected Sub CloseButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles CloseButton.Click TextBox1.Text = "終了しました" End Sub 今回やりたいこと: 押されたボタンのIDを何らかの方法で取得し、変数"ButtonID"に代入→Select Caseを使い、変数の値に応じて処理の振り分けを行う。 Sub Button_Click() Dim ButtonID As String = ???? Select Case ButtonID Case "DeleteButton" TextBox1.Text = "削除しました" Case "UpdateButton" TextBox1.Text = "更新しました" Case "ClseButton" TextBox1.Text = "終了しました" Case Else '処理は行わない End Select End Sub わからない点:押されたボタンのIDを取得する方法です。      もしわかる方がいましたらご助言いただけると助かります。 よろしくお願い致します。

  • VB2005 フォームの再表示

    プログラムを終了する時、“プログラムを終了しますか?”というメッセージを表示し“はい”ボタンを押すとプログラムを終了、“いいえ”ボタンを押すとプログラムを終了しないようにしたいのですが、“いいえ”ボタンを押すとフォームが消えてしまいます。この時プログラムは終了していません。消えているフォームを再度表示したいのですが、どうしたら良いのか分かりません。Me.Show()、Me.Refresh()とかを使用しても表示されません。現在のコードを記載しますのでどなたか教えて下さい。よろしくお願いします。 Private Sub MainDisp_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed Dim resources As System.ComponentModel.ComponentResourceManager _ = New System.ComponentModel.ComponentResourceManager(GetType(MainDisp)) Dim msg As String Dim ret As String Beep() msg = My.Resources.msg001 resources.ApplyResources(msg, "msg") ret = MsgBox(msg, MsgBoxStyle.YesNo + MsgBoxStyle.Question, My.Resources.msg002) If ret = vbYes Then End Else Me.Show() Me.Refresh() End If End Sub

  • 仮想メソッドをoverrideすると怪しい動作

    こんにちは。C#で仮想メソッドの勉強をしています。Form1でボタンを押すとフォームが閉じるメソッドを書きました。 Form2でoverrideしてメッセージボックスを表示するようにメソッドを再定義しました。 ここで問題なのですが、Form2でcmdCloseボタンをクリックすると「閉じます」というメッセージを表示した後に、もう一度「閉じます」というメッセージが表示されます。 2回メッセージが表示されるのが腑に落ちなく、何が原因なのかお教え頂きたく思います。よろしくお願いします。 Form1 /******************************************************************************/ // フォームクローズ /******************************************************************************/ protected virtual void cmdClose_Click(object sender, EventArgs e) { this.Close(); } Form2 /******************************************************************************/ // フォームクローズ /******************************************************************************/ protected override void cmdClose_Click(object sender, EventArgs e) { MessageBox.Show("閉じます"); }

このQ&Aのポイント
  • ブラザーMFC-J6973CDWのスキャンでA3サイズの画像を保存すると、USBにはA4サイズで保存されてしまいます。
  • Windows11を使用しており、有線LANで接続されています。
  • ブラザーMFC-J6973CDWのスキャンでA3サイズの画像を正しく保存する方法を教えてください。
回答を見る