• ベストアンサー

VB2008にて

VB2008にて シンプルコンボボックス入力時、EggやEGGやeggなどどんな感じで入力しても”EGG”と表示されるようにしたいのですがどのようなコードにすればいいでしょうか? また、シンプルコンボボックスの何かをデリートし、その後ボタンを押すとデリート前の表示に戻る”リストア”ボタンを作りたいのですがどうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

>シンプルコンボボックス入力時、EggやEGGやeggなどどんな感じで入力しても”EGG”と表示 コンボボックスでは、あまりそのようなことはしませんが、以下のようになるかと思います。イベントは、いくつか迷う所ですが、Enter をHit するまでは、文字は、そのままにしています。  Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown     If e.KeyValue <> 13 Then Exit Sub     ComboBox1.Text = ComboBox1.Text.ToUpper     ' ComboBox1.Items.Add(ComboBox1.Text) ''リストに加える場合  End Sub >シンプルコンボボックスの何かをデリートし、その後ボタンを押すとデリート前の表示に戻る”リストア”ボタンを作りたい 前回の質問の続きとしますから、Button1 は、既に使われたとし、Button2, Button3 としました。 ComboBox1 は、前回のままです。 Private ComboLists() As String Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load     Dim i As Integer     Dim Arg() As String = {"Pizza", "Pasta", "Hot Dog", "Humberger", "Donuts", "Fish and Chips"}     ComboLists = Arg '*モジュール・レベル変数に確保     For i = 0 To UBound(Arg)       ComboBox1.Items.Add(Arg(i))     Next   End Sub   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click     'Delete Button     Dim n As Object     n = ComboBox1.SelectedItem     ComboBox1.Items.Remove(n)   End Sub   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click     'Restore Button     Dim i As Long     ComboBox1.Items.Clear()     For i = 0 To UBound(ComboLists)       ComboBox1.Items.Add(ComboLists(i))     Next   End Sub '// この考え方は、一端、元のリストを保存して置くというものです。もし、途中で、リストに加えたとしたら、加えた時に、配列変数に確保する(*)ということをします。 前回のコメントの続き: >Textbookはありますが、必要な情報が少ないのと全て英語なので 日本語でも英語でも、普通に英語が読めれば、そんなに変わらないように思います。 TextBook で分からない時は、MSDNで検索すると良いのですが、日本語が3分の1ぐらいしかありません。後は、全部英語で、それも、英語自体が読みにくいのです。 VB2008の勉強も、学期末が近いので後数カ月でお終いになるのかもしれませんが、運賃は少し高いですが、Amazon Japan から購入しても良いとは思います。 林晴比古さんの明快シリーズは、ほぼ間違いないと思います。このシリーズは、テキストと言っても、調べるだけの目的の本のようなもので、VBの時から、調べる時に、とても便利だったような気がします。VB6のシリーズを持っています。(私自身は、昔のものしかありません) 明快入門 Visual Basic 2008 ビギナー編 (ソフトバンク) http://www.amazon.co.jp/exec/obidos/ASIN/4797350830

chirosaku_v
質問者

お礼

毎回ありがとうございます!本当に毎回お世話になってしまい申し訳ないと共に感謝でいっぱいです。クラスに日本人1人、そしてオンラインのクラスである事から全く頼りにならない教科書と専門用語が書かれた英語で混乱していました。もうすぐ学期末で一時帰国しますが、次にVisual Basicのアドバンスコース、そしてJAVAのクラスをとる予定なので、買って帰ろうと思います。これからも初心者で情けない質問も沢山するかもしれませんが、どうぞ宜しくお願いいたします。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

”EGG”と表示されるようにしたい   Stringで宣言した変数のToLowerメソッド デリート前の表示に戻る   削除時にリストアに備え保存しておくか、削除前全体を代入しなおすか。

関連するQ&A

  • VB.net2010 曜日の取得について

    初心者ですが、失礼します。 VB.net2010にて コンボボックス4つ (「20」「00」年「04」月「02」日の「」の4つ) に任意の日付を入れてその日の曜日を分かるようなコードを組みたいのですが、 weekdayname関数とコンボボックスの合わせ方がイマイチ分かりません。 宜しくお願い致します。 1. コンボボックス4つの年月日を選択してボタンを押す 2.メッセージボックスに曜日を表示する

  • Visual Basic2008、前回のコンボの応用について

    Visual Basic2008、前回のコンボの応用について 前回回答してくださったお二方、ありがとうございました。 現在新しい課題で、再びシンプルコンボボックスの応用をやっています。 前回、コンボボックスに”egg”,”Egg”,”eGG”などどんな風に入力しても"EGG"と入力するコードを質問させて頂きました。 しかし、今度は”egg”,”Egg”,”eGG”などどんな風に入力しても”Egg”と最初の一文字だけ大文字にするコードを入力しなければいけないのですが、どなたかお知恵をおかりできませんか? 調べたところによると、vbpropercase というコードを使うらしいのですが、組み立て方がわかりません。

  • VB2008でのコンボボックスの扱いについて

    VB2008でのコンボボックスの扱いについて 教えてください。 コード(3桁)と名称をコンボに設定したいの ですが、 例えばコード1桁の時、3桁の時でも後に続く 名称の先頭を揃えたいのですが。 VB6の時は .AddItem Format("01", "@@@!") & "名称"で できたのですが。 VB2008で .Items.Add("01".PadRight(3) & 名称)で 実行すると微妙にずれるのですが。 何か良い方法を教えて頂きたいのですが。

  • VBでLOOKUP機能

    テキストボックス(TextBox1)にコード番号を入力して ボタンを押すとメッセージボックスにコード番号に合った 名前を表示させるプログラムを作っているのですが、 こういうエクセルでいうLOOKUP機能がVBでできるのでしょうか?可能であれば教えて頂けないでしょうか? (例) 名前データが以下です。 code  name 0 東 1 斎藤 2   大西 テキストボックスに1を入力してボタンを押すと メッセージボックスに斎藤と表示させる。

  • Excel2003 VB コマンドボタン

    Excel2003 VB コマンドボタン VB初心者です。コマンドボタンをクリックしたら、テキストボックス1に入力してあるコードと一致する値を別シートのデータTBからvlookupで呼び出してテキストボックス2に表示したいのですが、うまくいきません。コードの例を教えていただけると助かります。よろしくお願いします。

  • VBでコンボボックスをテーブルのように扱いたい

    VB.net 2010での質問です。 外部テキストファイルを読み込んで、フォーム上のコンボボックスに入れるのは簡単にできましたが、 ボタンを押したときに、選んだコンボボックスの該当データのうち一部だけを取り出して他データとからめつつ処理して表示させたいのです。 テキストファイルが以下のようになっています。データ件数は多くはありません。 阿部,北海道,10001,2001/05/01 山崎,東京都,11111,2003/09/25 ボタンを押した時には、別のテキストボックスに 山崎 - 10001 と表示させたいのです。贅沢を言えば、コンボボックスには人名のみが表示されるようにできれば素晴らしいです。 どうかよろしくお願いします。

  • ExcVBAについて、コンボBOXの項目をセルに記録する

    ユーザーフォーム1にコンボBOX1に氏名を記録させてあります。 同じくユーザーフォーム1にコマンドボタン1で入力ボタンをつくってあります。sheet1にはVBエディタのフォームよりコマンドボタン2を作成しsheet1にコンボBOXを表示させるようにしています。 そこでコンボBOXの氏名1をsheet1のA3にコマンドボタン1を使い記録させます。後にA4に氏名2を記録させます。 というように、Aの欄に記録、記録としていきたいのですがコードが判りません。どのようなコードを使えば記録がA2、A3、A4と記録できるのでしょうか教えてください。ちなみにA1だけに記録は出来ます。 宜しくお願いします。

  • VB6.0 コンボBOXからのリスト表示について

    たとえば画面からの伝票入力処理などで... 「商品コード」の入力域を、コンボBOXにして、直接手入力でも、リストからの マウスクリック選択でも入力できるようにするとします。 この様な場合リストには、通常は「商品マスタ」の「商品コード」を、リスト表示 しますね。 実は今回、このリストにコードだけでなく横に並べて「商品名」も表示したいの です。もちろん「商品マスタ」に「商品名」を持っているものとします。 但し、もともとのコンボBOXの幅はコード文字数分のみとし、「商品名」分の 長さは、取っていないものとします。 以上、Accessでは標準機能で当たり前のように簡単にできる事ですが、 VB6.0ではどうなのでしょうか? 出来るのであれば、教えて下さい。

  • VBについて質問です

    VB2010でフォームデザイナーに、ツールBOXからテキストBOXとボタンを挿入します。テキストBOX内に数字を入力し、ボタンクリックで線がかけるようなプログラムを作成したいのですが、初心者で分かりません。コード等詳しく教えていただけないでしょうか。

  • VBのコーディング

    VBを勉強し出して早1ヶ月…全然進歩が見られない私ですが、 ご存知の方の知識をお借りしたいのですが テキストボックスに入力した文字をtxtファイルに保存して 今度そのtxtファイル内の文字をコンボボックスに表示する様にするには、 どの様なコーディングを書き込めば宜しいのでしょうか? 又、xlsファイルの列に入力している文字のみをコンボボックスに 表示する事は出来るのでしょうか? この問題にぶち当たり早5日、思考錯誤?を繰り返しましたが、 もはやギブアップ状態 お詳しい方、笑いながら教えて頂けませんでしょうか(出来れば超簡単に…) 宜しくお願い致します。

専門家に質問してみよう