- PR -

Panelコントロールに代入する

1
投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2004-08-08 22:12
msoです。

過去ログを探したのですが、うまく見つかりませんでした。


コード:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim pnlHoge As Panel = New Panel()
        Dim txtHoge As TextBox = New TextBox()

        txtHoge.Text = "testdata"
        txtHoge.Location = New System.Drawing.Point(1, 1)
        txtHoge.Size = New System.Drawing.Size(100, 100)
        pnlHoge.Controls.Add(txtHoge)

        pnlHoge.Location = New System.Drawing.Point(1, 1)
        pnlHoge.Size = New System.Drawing.Size(100, 100)
        Me.Panel1 = pnlHoge
    End Sub



というようなサンプルコードを作成してみました。
何がやりたいかというと既に画面に存在しているパネルコントロール(Panel1)の
テキストボックスに値を入れたいと思っています。
テキストボックスに値を入れるのも普通に入れてもいいのですが、
パネルコントロール単位で一気に代入をしたいと思っています。

どうやって良いのか分からないのですが、
そもそもPanelオブジェクトを作成してそれをそのまま代入するような処理は
できないのでしょうか?

何か情報があれば教えてください。

えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-09 01:06
Panel1.Controls の全要素のなかに、値を入れたいテキストボックスもあるはずです。
For Each でさらってみてください。
_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-08-09 08:33
 Panelを継承したMyPanelを作って、一括代入するようなメソッドを作る。


 そもそも、「Panelオブジェクトを作成してそれをそのまま代入するような処理」って、どういうこと?「そのまま代入」って、何を、何に?パネルにテキストを代入する?

 掲載コードと、書いてあることは一致していませんよね。『既に画面に存在しているパネルコントロールのテキストボックスに値を入れたい』と書いている。パネルは存在しているとあるのに、『Dim pnlHoge As Panel = New Panel()』なぜnewする?あとで『Me.Panel1 = pnlHoge』としていることをいっているのでしょうか?これは、「新しいパネルで上書きする」のであって、「存在しているパネルのテキストボックスに値を入れ」ているのではありませんよ。


 プログラムというのは、人間が、しなければならない「手順」を、コンピュータに「明確に」伝える為のものです。人間にとって「手順」が「明確に」なっていないなら、どんな簡単な処理でも実現できません。もっと「手順」を「明確に」してください。
 または、「手順を明確にして欲しい」のか、「実現方法がわからない」のか、きちんと整理してください。
1

スキルアップ/キャリアアップ(JOB@IT)