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

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

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

Re[6]: ボタンを1度しか押せないようにする


(過去ログ 18 を表示中)

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

■7071 / inTopicNo.1)  ボタンを1度しか押せないようにする
  
□投稿者/ ゆりね (1回)-(2007/08/29(Wed) 18:09:02)

分類:[C#] 

よろしくお願いします。

C#で、ボタンを1度押した後に、もうそのボタンを押せないようにするには
どのプロパティの設定でしょうか?(visible = false ではなく)

また、皆さんは各プロパティの機能を検索したいときにどうやって調べているのでしょうか?
プロパティ自体、数が膨大ですし、ネットで調べても十分な結果を得られない場合も多々あります。

その場合はvisualstudioのコードヘルプの日本語を見て逐一調べていくわけですが、
どうしても時間がかかってしまいます。逆引き500大全みたいな本も持ってはいますが
やはり内容は十分とは言えません。msdnのサンプルコードも初心者にはよく分かりません。

初心者向けC#全般のサイトというより、初心者向けのC#のプロパティのサイトで良い所は
どこかないでしょうか?下記のサイトは随分お世話になっています。
http://dobon.net/vb/dotnet/datagridview/index.html

引用返信 編集キー/
■7072 / inTopicNo.2)  Re[1]: ボタンを1度しか押せないようにする
□投稿者/ Jitta (409回)-(2007/08/29(Wed) 18:16:35)
No7071 (ゆりね さん) に返信
> よろしくお願いします。
>
> C#で、ボタンを1度押した後に、もうそのボタンを押せないようにするには
> どのプロパティの設定でしょうか?(visible = false ではなく)

本当にやりたいことは、なんですか?アプリケーションの生存期間を通して一回ではなく、ボタンのイベント処理に時間がかかり、その間に2回3回押されることを予防したいのではないですか?




>
> また、皆さんは各プロパティの機能を検索したいときにどうやって調べているのでしょうか?
> プロパティ自体、数が膨大ですし、ネットで調べても十分な結果を得られない場合も多々あります。
>
> その場合はvisualstudioのコードヘルプの日本語を見て逐一調べていくわけですが、
> どうしても時間がかかってしまいます。逆引き500大全みたいな本も持ってはいますが
> やはり内容は十分とは言えません。msdnのサンプルコードも初心者にはよく分かりません。
>
> 初心者向けC#全般のサイトというより、初心者向けのC#のプロパティのサイトで良い所は
> どこかないでしょうか?下記のサイトは随分お世話になっています。
> http://dobon.net/vb/dotnet/datagridview/index.html
>

MSDNです。
メンバー一覧を眺めて、どの様なメンバーがあるか、探します。
引用返信 編集キー/
■7073 / inTopicNo.3)  Re[2]: ボタンを1度しか押せないようにする
□投稿者/ ぼのぼの (79回)-(2007/08/29(Wed) 18:35:36)
No7071 (ゆりね さん) に返信
> C#で、ボタンを1度押した後に、もうそのボタンを押せないようにするには
> どのプロパティの設定でしょうか?(visible = false ではなく)
Enabledです。
ただしEnabled=falseとしたあとUpdateメソッドを呼ばないとすぐに表示に反映されません。

> また、皆さんは各プロパティの機能を検索したいときにどうやって調べているのでしょうか?
> プロパティ自体、数が膨大ですし、ネットで調べても十分な結果を得られない場合も多々あります。
VisualStudioと一緒にインストールしたMSDNです。
インターネットでも同内容のものが公開されてますが、ローカルの方が表示が速いので。
#起動は遅いけど

> その場合はvisualstudioのコードヘルプの日本語を見て逐一調べていくわけですが、
> どうしても時間がかかってしまいます。逆引き500大全みたいな本も持ってはいますが
> やはり内容は十分とは言えません。msdnのサンプルコードも初心者にはよく分かりません。
はじめは時間がかかります。だから初心者です。
よく使うものは自然に脳にしまわれていって、だんだん初心者じゃなくなっていきます。


> 初心者向けC#全般のサイトというより、初心者向けのC#のプロパティのサイトで良い所は
> どこかないでしょうか?下記のサイトは随分お世話になっています。
> http://dobon.net/vb/dotnet/datagridview/index.html
プロパティの機能一覧を見るなら、MSDNに勝る資料を知りません。
やりたいことからサンプルコードを逆引きするなら、じゃんぬねっとさんのとこが有名です。
http://jeanne.wankuma.com/
引用返信 編集キー/
■7074 / inTopicNo.4)  Re[2]: ボタンを1度しか押せないようにする
□投稿者/ ゆりね (2回)-(2007/08/29(Wed) 18:37:31)
言葉足らずで申し訳ありませんでした。どちらかというと前者です。単純にフォームとボタンを1つずつ用意して、
ボタンを押したらイベントを発生し、もうそのボタンは押せなくなるような(ただし、見た目としては存在するようにする)
ものを考えていました。

>>C#で、ボタンを1度押した後に、もうそのボタンを押せないようにするには
>>どのプロパティの設定でしょうか?(visible = false ではなく)
>
> 本当にやりたいことは、なんですか?アプリケーションの生存期間を通して一回ではなく、ボタンのイベント処理に時間がかかり、その間に2回3回押されることを予防したいのではないですか?


やはりそうですよね。msdnのサンプルだとまだ自分にとっては理解しがたい部分もあるので、もう少し鍛錬したいと思います。

> MSDNです。
> メンバー一覧を眺めて、どの様なメンバーがあるか、探します。


引用返信 編集キー/
■7075 / inTopicNo.5)  Re[3]: ボタンを1度しか押せないようにする
□投稿者/ はつね (253回)-(2007/08/29(Wed) 20:51:07)
はつね さんの Web サイト
No7074 (ゆりね さん) に返信
> 言葉足らずで申し訳ありませんでした。どちらかというと前者です。単純にフォームとボタンを1つずつ用意して、
> ボタンを押したらイベントを発生し、もうそのボタンは押せなくなるような(ただし、見た目としては存在するようにする)
> ものを考えていました。

では、そのボタンクリックのイベントプロシージャの先頭でEnabledをFalseにすればよいと思います。

引用返信 編集キー/
■7084 / inTopicNo.6)  Re[3]: ボタンを1度しか押せないようにする
□投稿者/ のん (4回)-(2007/08/30(Thu) 01:57:33)
2007/08/30(Thu) 02:17:17 編集(投稿者)
2007/08/30(Thu) 01:59:06 編集(投稿者)
2007/08/30(Thu) 01:58:58 編集(投稿者)

>では、そのボタンクリックのイベントプロシージャの先頭でEnabledをFalseにすればよいと思います。
私もそう思います。

で、ボタンを押すとこうなるって記述したら、Enabled=Falseにすれば一回押したら押せませんになります。


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "クリックしました"
Button1.Enabled = False

End Sub

たとえばこんな感じだけでボタンが押せなくなります。
VB2005で記述してます。VBで申し訳ないですorz

引用返信 編集キー/
■7085 / inTopicNo.7)  Re[4]: ボタンを1度しか押せないようにする
□投稿者/ YAS (17回)-(2007/08/30(Thu) 03:11:19)
2007/08/30(Thu) 03:22:50 編集(投稿者)
Clickイベントの中でイベントハンドラを削除するという方法もあります。
(Enable = False との違いは,ボタンの色が変わらないということです。)

        private void button1_Click(object sender, EventArgs e)
        {
            this.button1.Click -= new System.EventHandler(this.button1_Click);
        }

引用返信 編集キー/
■7090 / inTopicNo.8)  Re[5]: ボタンを1度しか押せないようにする
□投稿者/ はつね (255回)-(2007/08/30(Thu) 10:42:39)
はつね さんの Web サイト
No7085 (YAS さん) に返信
> Clickイベントの中でイベントハンドラを削除するという方法もあります。
> (Enable = False との違いは,ボタンの色が変わらないということです。)

押せないようにするという事なので、イベントハンドラ削除しただけだと「押せるけれど動作しない」になってしまい目的のものとずれるのではないでしょうか。


引用返信 編集キー/
■7106 / inTopicNo.9)  Re[6]: ボタンを1度しか押せないようにする
□投稿者/ YAS (18回)-(2007/08/30(Thu) 12:17:10)
> 押せないようにするという事なので、イベントハンドラ削除しただけだと「押せるけれど動作しない」になってしまい目的のものとずれるのではないでしょうか。

なるほど。その通りですね。

> 見た目としては存在するようにする

とあったので,見た目が変わらない方がよいのかと思ってしましました。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -