コンボボックスからテキストボックスへのデータ反映方法
- コンボボックスにデータ(文字列+数字)を選択し、テキストボックスに数字のみを表示させる方法について教えてください。
- 現在、ComboBox1のSelectedIndexChangedイベントでComboBox1.TextをTextBox1.Textに代入しているため、文字列+数字が反映されてしまいます。
- 数字のみをテキストボックスに反映させるためには、ComboBox1から選択されたデータから数字部分のみを抜き出してTextBox1に代入するコードを記述する必要があります。
- ベストアンサー
コンボボックスからテキストボックスへのデータ反映
コンボボックスにてデータ(文字列+数字)を選択して、同フォーム内にある テキストボックスへ数字だけを表示させるにはどのようにコードを入力すれば良いでしょうか? VS2010を利用しています。 コンボボックスには、●●会社 00000000000 ▲▲会社 1111111111 といったように登録されております。 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged TextBox1.Text = ComboBox1.Text End Sub 上記のコードですと、文字列+数字がテキストボックスへ反映されてしまいます。 お忙しい中お手数をお掛けしますが、ご教授下さい。
- yocchan007
- お礼率78% (11/14)
- Visual Basic
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
TextBox1.Text = ComboBox1.Text.Split(" "c)(1)
その他の回答 (2)
- MARU4812
- ベストアンサー率43% (196/452)
> デバッグ出来ますが、 デバッグできるなら、問題点を自分で見つけて修正すれば いいじゃない。多分、初回の何も設定されていない状態での 話でしょ? 質問文にある通り >コンボボックスには、●●会社 00000000000 >▲▲会社 1111111111 なら問題なく動くはずですよ。 テスト用コード ComboBox1.Text = "●●会社 00000000000" TextBox1.Text = ComboBox1.Text.Split(" "c)(1) では問題なく処理できますので。
- imogasi
- ベストアンサー率27% (4737/17068)
泥臭いですが 英字文字列+数字で数字の中に又文字列は無いとして Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Dim t As String Dim x As Char t = ComboBox1.Text For i = 0 To t.Length - 1 x = t.Substring(i, 1) If Char.IsNumber(x) Then MsgBox(t.Substring(i, t.Length - i)) Exit For End If Next End Sub VB6にくらべて複雑です。 IsNumberの詳細の中身をWEBで調べてください。ややこしい。 http://blog.livedoor.jp/akf0/archives/51315460.html
関連するQ&A
- コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更し
コンボボックスのドロップダウンで選択する文字列と選択後の文字列を変更したいです。 ComboBox1.Items.Add("ID : NAME") Private Sub ComboBox1_Validated(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles ComboBox1.Validated ComboBox1.Text = "ID" End Sub これでコンボのフォーカスを外せば表示が"ID"になりますが、選択後は"ID : NAME"のままです。 イベント内で別のコントロールにフォーカスを当てようとしても無理でした。 なにか方法はないでしょうか? ownerdrawで複数列を持たせる方法でやりたいことはできるのですが、 この方法はわけあって避けたいと考えています。
- 締切済み
- Visual Basic
- ComboBoxについて
ComboBoxのアイテムリストからアイテムを選んだら 選んだアイテムに対応した別の文字列 をComboboxに表示したいと思います。 動き的には Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ComboBox1.Text = "" ComboBox1.Items.Add("000") ComboBox1.Items.Add("001") ComboBox2.Text = "" ComboBox2.Items.Add("0個目") ComboBox2.Items.Add("1個目") ComboBox2.Visible = False End Sub Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Select Case ComboBox1.SelectedIndex Case 0 ComboBox1.Visible = False ComboBox2.Visible = True ComboBox2.SelectedIndex = 0 Case 1 ComboBox1.Visible = False ComboBox2.Visible = True ComboBox2.SelectedIndex = 1 End Select End Sub Private Sub ComboBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.GotFocus ComboBox1.Visible = True ComboBox1.DroppedDown = True ComboBox2.Visible = False End Sub こんな感じで、ComboBoxを二つ使えば実現できるのですが一つだけでも実現できる方法が ありましたら、教えてくださいませ。
- ベストアンサー
- Visual Basic
- コンボボックスのインデックス値取得について
Visual Stdio 2008 Express Editionを使ってVBの勉強をしています。 コンボボックスのことについてお伺いしたいことがあり、 投稿させていただきました。 Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With ComboBox1 .Items.Add("りんご") .Items.Add("みかん") .Items.Add("なし") End With End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("コンボボックスで選択した項目のインデックス") End Sub End Class コンボボックスで「みかん」を選択し、 ボタンを押下したときに、「みかん」のインデックス値として 「1」を出力させたいのですが、この表示方法がわからない状態です。 VB6.0であれば、ItemDataプロパティを使えばうまくいくと 思うのですが、VisualStudioだとどのプロパティを用意すれば よろしいのでしょうか。 ご教授の程お願い致します。
- 締切済み
- Visual Basic
- SelectedIndexChanged
SelectedIndexChangedイベント後、コンボボックスを空白にしたいのですが、 Private Sub cmb_コンボボックス_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmb_コンボボックス.SelectedIndexChanged Me.cmb_コンボボックス.Text = "" End Sub をしても何も起りません。空白にもならないしエラーにもなりません。 Me.cmb_コンボボックス.Text = Null は出来ないようです。 イベント後、自身のコントロールを空白にするコードを教えてください。ご教授よろしくお願いします。
- ベストアンサー
- Visual Basic
- Comboboxを連動するには?。
はじめまして、どなたか教えてくれませんか。 Microsoft Visual Basic 2005を使ってCombobox1で選らんだ項目を WebBrowser1で表示させたい。 URLをCombobox1に表示させて表示はできますが項目を変えて表示するやり方がわかりまでいたのでおしえてくれませんか。 よろしくお願いします。 Combobox1で表示させたい項目 ヤフー グーグル goo Navigateで誘導したいURL http://www.yahoo.co.jp/ http://www.google.com/ http://www.goo.ne.jp/ Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged WebBrowser1.Navigate(ComboBox1.Text) End Sub
- ベストアンサー
- Visual Basic
- コンボボックスの削除の仕方
コンボボックスのリストの削除はどうしたらよいでしょうか。 private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) { index = comboBox1->SelectedIndex; cout << "index=" << index << "\n"; } private: System::Void button2_Click_1(System::Object^ sender, System::EventArgs^ e) { //comboBoxからデータ削除 comboBox1->Items->RemoveAt(index); このようなコードを書いてみましたがうまくいいきません。
- ベストアンサー
- C・C++・C#
- VB2008 comboboxの内容をSelectCaseで使いたい
VB2008 comboboxの内容をSelectCaseで使いたい いつもお世話になってます。 初めてComboboxを使っています。 リストには 「メロンパン」 「コロッケパン」 「ハンバーガー」 と入っていて、 デバックしそれぞれを選択すれば、無事に指定欄に表示されるようにまではなりました。 ここでストップしてしまいまして、 Selectcase(今週習った)で、 case 1 (メロンパンは120円なので) en=個数x120 case 2 … というようにしたいのですが、 "Select Case ○○"の○○を何にすればいいのか分からないのと、 caseのあとの数字は(リストの上から)0,1,2というように聞いた気がしたのですがそれでよいのかどうか。 見ていただけないでしょうか。 未完成のぼろぼろですが、コードをおのせします。 Public Class Form1 Dim cm, a As String Dim kosu, en As Integer Private Sub ShapeComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ShapeComboBox.SelectedIndexChanged txtKaimono.Text = ShapeComboBox.Text End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click kosu = TextBox1.Text Select Case ShapeComboBox Case 0 en = kosu * 120 Case 1 en = kosu * 180 Case 2 End Select End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Application.Exit() End Sub End Class
- ベストアンサー
- オフィス系ソフト
- .netでコンボボックスの設定方法
最近、「Microsoft SQL Server 2005」と「Microsoft Visual Basic 2008 Express Edition」の勉強を始めた初心者です。 簡単なことだとは思うのですが、どなたかご教授お願いします。 <部門テーブル> コード 部門名 001 総務課 002 経理課 003 営業課 質問は、部門テーブルのをコンボボックスへセットするコーディング方法です。 やりたいこと↓↓↓ Private Sub frm一覧_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load (1)テーブルOPEN select コード, 部門名 from 部門テーブル order by コード (2)データが存在すれば、コンボボックスにセット End Sub また、コンボボックスには部門名だけを表示させたいと思います。 この時、選択されたデータのコードと部門名の取得方法も教えて下さい。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセル2010 シート上のコンボボックス
エクセル2010を使用しております。 シート1にコンボボックス1(アクティブXコントロール)を設置しており、 コードは下記です。 Private Sub ComboBox1_DropButtonClick() Dim i As Long With Worksheets("シート操作").OLEObjects("ComboBox1").Object .Clear For i = 1 To 100 .AddItem i Next i End With End Sub コンボボックス1のドロップボタンで リスト1~100の数字の中から、任意の数字を選び テキスト表示部分に表示させたいだけなのですが、 上記コードではリストから選択しても何も表示されません。 コードの誤りと詳しい説明を希望します。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- VB2010テキストボックスのボップアップについて
visual basic 2010を使用しています。 ■質問内容 ・EnabledをFalseにしてもクリックでボップアップ表示させる方法 ・他の方法で書き込み禁止にし、クリックでボップアップ表示させる方法 テキストボックスをクリックすると、ボップアップで内容が表示されるプログラミングをしたのですが、テキストボックスへの書き込みを禁止するためにプロパティからEnabledをFalseにすると、ボップアップされなくなってしまいます。 'テキストボックスには、コンボボックスから複数取得された内容が入っていますので、変数に入れました Private Sub textbox_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox.Click Dim a As String a = textbox.Text MsgBox(a) End Sub 以上、宜しくお願い致します。
- ベストアンサー
- Visual Basic
補足
デバッグ出来ますが、 index out of range exceptionはハンドルされませんでした。と表示されてしまいます。 どこを変更すれば良いでしょうか?