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

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

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

form1からusercontrol1の変数の値変更する

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

■88918 / inTopicNo.1)  form1からusercontrol1の変数の値変更する
  
□投稿者/ ブレーmen (1回)-(2018/10/15(Mon) 00:12:45)

分類:[.NET 全般] 

visualstudio C#
プログラム内容
(
form1のデザインの中にusercontrol1が含まれている状態です。そして、
form1にはbutton1,int countが
usercontrolにはbutton2,button3が含まれています。

form1にあるbutton1をクリックすると、usercontrol1にあるbutton2を
button2.Enabled=false;//ボタンが押せない状態
button1.Enabled=false;
にして、

usercontrol1にあるbutton3をクリックすると、
form1にあるcountの値が+1また、
button2.Enabled=true;
button3.Enabled=false;

usercontrol1にあるbutton2をクリックすると
button1.Enabled=true;
)
となようなプログラムを作成したいです。(変数やり取りの理解のために
プログラミング初心者なので、専門用語(?)等が理解できないと思うので、
なるべく簡単(てきとー)に説明してくれると嬉しいです。
上記のプログラムでなくても感覚的にusercontrol1とform1でどのようにすればbuttonやint型の変数を
やり取りできるか理解できれば十分です。


引用返信 編集キー/
■88919 / inTopicNo.2)  Re[1]: form1からusercontrol1の変数の値変更する
□投稿者/ shu (1144回)-(2018/10/15(Mon) 09:29:42)
No88918 (ブレーmen さん) に返信

> form1にあるbutton1をクリックすると、usercontrol1にあるbutton2を
> button2.Enabled=false;//ボタンが押せない状態
> button1.Enabled=false;
> にして、

usercontrol1にpublicなメソッドを用意してその中で希望の処理をすればよいです。


>usercontrol1にあるbutton3をクリックすると、
>form1にあるcountの値が+1また、
>button2.Enabled=true;
>button3.Enabled=false;

usercontrol1にイベントを用意してbutton2クリックでEnabledを設定後、そのイベントを発生
form1側でイベントを処理

> usercontrol1にあるbutton2をクリックすると
> button1.Enabled=true;
> )
usercontrol1にイベントを用意してbutton2クリックでそのイベントを発生
form1側でイベントを処理

引用返信 編集キー/
■88920 / inTopicNo.3)  Re[2]: form1からusercontrol1の変数の値変更する
□投稿者/ ブレーmen (3回)-(2018/10/15(Mon) 14:51:33)
No88919 (shu さん) に返信
>
>>form1にあるbutton1をクリックすると、usercontrol1にあるbutton2を
>>button2.Enabled=false;//ボタンが押せない状態
>>button1.Enabled=false;
>>にして、
>
> usercontrol1にpublicなメソッドを用意してその中で希望の処理をすればよいです。
>
>
> >usercontrol1にあるbutton3をクリックすると、
> >form1にあるcountの値が+1また、
> >button2.Enabled=true;
> >button3.Enabled=false;
>
> usercontrol1にイベントを用意してbutton2クリックでEnabledを設定後、そのイベントを発生
> form1側でイベントを処理
>
>>usercontrol1にあるbutton2をクリックすると
>>button1.Enabled=true;
>>)
> usercontrol1にイベントを用意してbutton2クリックでそのイベントを発生
> form1側でイベントを処理
>

説明ありがとうございます。
申し訳ないですがpublicの使い方が分かりません。
publicの使い方の説明または、
プログラミングのソースコードを送っていただけると助かります。
お手数おかけしますがお願いします。

引用返信 編集キー/
■88928 / inTopicNo.4)  Re[3]: form1からusercontrol1の変数の値変更する
□投稿者/ Jitta (416回)-(2018/10/15(Mon) 20:33:55)
No88920 (ブレーmen さん) に返信
>>
>
> 説明ありがとうございます。
> 申し訳ないですがpublicの使い方が分かりません。
> publicの使い方の説明または、
> プログラミングのソースコードを送っていただけると助かります。
> お手数おかけしますがお願いします。
>

オブジェクト志向言語における基本的な知識です。
まず、体系的に言語の学習をしてきてください。
足し算引き算を知らない人にかけ算割り算を教えることはできません。
引用返信 編集キー/
■88931 / inTopicNo.5)  Re[3]: form1からusercontrol1の変数の値変更する
□投稿者/ にゃるら (41回)-(2018/10/16(Tue) 09:51:43)
No88920 (ブレーmen さん) に返信
> ■No88919 (shu さん) に返信
> 申し訳ないですがpublicの使い方が分かりません。
> publicの使い方の説明または、

https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers

これでも難しいようでしたら(悪いわけではないですよ)、独習C#等の初心者向けの書籍を購入して学習することをお勧めします。
引用返信 編集キー/
■88968 / inTopicNo.6)  Re[3]: form1からusercontrol1の変数の値変更する
□投稿者/ shu (1145回)-(2018/10/20(Sat) 07:51:03)
No88920 (ブレーmen さん) に返信

VBですが参考までに
カウントはTextBox1に表示するようにしてあるので初期値を適当に
設定しておく必要があります。
多分提示された通りだと思うのですがbutton3を使用不可にした後、
戻していないのでカウントは1しか増えないと思います。

Public Class UserControl1

    Public Event Event1 As EventHandler
    Public Event Event2 As EventHandler

    Public Sub Method1()
        Button3.Focus()
        Button2.Enabled = False
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Button2.Enabled = True
        Button2.Focus()
        Button3.Enabled = False
        RaiseEvent Event1(Me, EventArgs.Empty)
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        RaiseEvent Event2(Me, EventArgs.Empty)
    End Sub
End Class

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        TextBox1.Focus()
        UserControl11.Method1()
        Button1.Enabled = False
    End Sub

    Private Sub UserControl11_Event1(sender As Object, e As EventArgs) Handles UserControl11.Event1
        TextBox1.Text = CInt(TextBox1.Text) + 1
    End Sub

    Private Sub UserControl11_Event2(sender As Object, e As EventArgs) Handles UserControl11.Event2
        Button1.Enabled = True
    End Sub
End Class

引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ