• 締切済み

VB2008 ListBox内項目の入れ替え

VB2008で、ListBox内の項目をボタンで移動させるようにプログラムを組みたいのですが、うまくいきません。 一つの列には12個分の項目があります。 分かりにくい質問で申し訳ございませんが、回答よろしくお願いします。

みんなの回答

回答No.1

回答が無いのは質問の内容が解らないからです。 うまくいきませんだけでは、何がうまくいかないのか? どこまでできてどこができないのか? なにをどのようにして、入れ替えようとしているのか? これを読んだ人には何も解りませんので何を答えていいのか解りません。 表示順を入れ替えたいのなら、入れ替えたい行の項目を読み込む・行の挿入・行の削除ができれば できるはずですが。 例えば、2行目と5行目を入れ替えたいのなら、2行目の項目を読み取り、それを6行目に挿入し 2行目を削除するとかすればいいのでは。 実際には、行を挿入・削除するとIndex が変わってしまうので操作する順番でどのようにIndex が変わ るのか、図にでも書いて見れば解るかと思いますよ。 又、マウスのドラッグで行を入れ替えるのであれば、同様の考え方でできるはずです。 上記のような過程でどの部分がうまくいかないのか?解らないかを質問するなりして頂けると回答も 早いかと。 いずれにしても、項目の読み込み・行の挿入・削除ができれば後は、小学生レベルの計算ができれば できるはずですので頑張って見て下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB6でLISTBOXの複数列

    こんばんは。VB6でListBoxを使うとき、AddItemでListBox内に追加できるのですが、右に更に列を増やすにはどうしたらいいのでしょうか? VBAでしたら ListBox1.ColumnCount = 2 ListBox1.BoundColumn = 2 ListBox1.AddItem Range("A1") ListBox1.List(1, 1) = Range("B1") こんな感じにできていたのですが、VB6だとよく分かりません。 初心者なのでできれば簡単に教えてもらいたいのですが。 よろしくお願いいたします。

  • VB.NET ListBox内の前方一致ではない文字列検索

    VB.NETにてListBox内の文字に対し,前方一致ではなく含まれる文字列を検索したいと思っています。ListBox1.FindString("文字")やListBox1.Items.IndexOf("文字")は使ってみましたが,前方一致になってしまうため使えませんでした。ListBox1.Items.Contains("文字")が使えそうかなと考えましたが,うまく文字を検索できません。半角英数字は検索できないというわけでもなさそうです。どなたか,使える関数を教えてはいただけませんか?よろしくお願いします。

  • ListBox内のDropDownListに任意の項目を追加し、データと連動させるには?

    初心者です。質問させていただきます。 ListBoxを使っているのですが、その中にDropDownListがあります。 そのDropDownListのプロパティのItemsというところから北海道、青森……沖縄と都道府県を入れて選択できるようにして、 DataGridなどの選択ボタンでデータベースの東京を選択してListBoxを開いたときに、 ListBox内のDropDownListの東京が選択されて表示されて、 そのDropDownListをクリックすれば、都道府県がまた選べて、 更新ボタンを押すと更新される。 というようなのを作成したいのですが、 うまくいかず、悩んでいます。 LabelやTextBoxではうまく表示されたのですが、 リストから選択して更新するということができないので、 DropDownListで同じようにしてみると、 クリックしてDropDownListを開いても東京なら東京だけしか出てきませんでした。 VBだと簡単にできるのに、どうしていいかわかりません。 どうか、よろしくお願いしますm(_ _)m

  • listboxの並び替え

    VB6でプログラムを組んでいます。 listboxにランダムに入力されたアイテムをソート(アイウエオ順やアルファベット順など)する方法はどのようにするのでしょうか? ご教授おねがいします。返答が難しいときは参考ページでも良いのでお願いします。

  • ListBoxの選択した項目を削除したら、DBの同じデータの行も削除を

    ListBoxの選択した項目を削除したら、DBの同じデータの行も削除をしたいです。 環境:XP-Pro/VB2005/SQLServer2005 簡単なSchedule管理ソフトを作成しています。 画面には左側にMonthCalendar、開始時間を表示するDomainUpDown、件名、内容を入力するTextBoxと登録ボタンがあり、左側にListBox、その下に修正ボタン、削除ボタンが配置してあります。 登録ボタンを押すとListBoxに内容が表示されると同時にDBにデータが保存されます。 DBのテーブル:Shortは startdate(日付) DateTime start(開始時間) varchar(50) subject(件名) varchar(50) contents(内容) varchar(50) *日付と開始時間は複合主キー 今回は登録した項目を選択して削除ボタンをクリックしたら、DB内の同じ内容も削除するという動作です。 分からない部分はDBに接続してコネクションを定義した後のSQLステートメントです。 現在は、 connection.Open() Command.CommandText = "DELETE FROM Short WHERE start = '" & ListBox1.SelectedIndex &"'" Command.ExecuteNonQuery connection.Close() となっています。が削除されませんでした。 SQLステートメントで"ListBoxの選択している項目と同じ行"というようにWHERE句で定義したいのですが分かりません。 ご指導よろしくお願いいたします。

  • CLRフォームアプリケーションのlistboxについて。

    CLRフォームアプリケーションでプログラムを作っているのですが、そこでlistboxについて質問です。 listboxの中で選択させたくない項目がある場合、選択させないということは可能なのでしょうか? できないとしたら、どういう方法を使うと良いかアドバイスお願いします。 下の画像のカテゴリーを選択したくない場合ということです。

  • CLRでのListBoxのオーナードローのやり方。

    Visual C++のCLRでフォームアプリケーションを作っていて、ListBoxのオーナードローの方法がわからないので質問させてもらいました。 CLRでプログラミングしたことが無く書籍などを読んだこともなく見よう見まねで作っています。 やりたいことはとりあえず http://dobon.net/vb/dotnet/control/lbownerdraw.html にあることです。 サンプルプログラムはVBとC#でC++がありません。 MSDN(http://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox.drawitem.aspx)も同様でVBとC#のサンプルプログラムでC++がありませんでした。 とりあえず。 C#のサンプル----------------------------------------------- //DrawItemイベントハンドラ //項目を描画する private void ListBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { //背景を描画する //項目が選択されている時は強調表示される e.DrawBackground(); //文字を描画する色の選択 Brush b = null; if ((e.State & DrawItemState.Selected) != DrawItemState.Selected) { //選択されていない時 switch (e.Index % 3) { case 0: b = new SolidBrush(Color.Red); break; case 1: b = new SolidBrush(Color.Blue); break; case 2: b = new SolidBrush(Color.Green); break; } } else { //選択されている時はそのままの前景色を使う b = new SolidBrush(e.ForeColor); } //描画する文字列の取得 string txt = ((ListBox) sender).Items[e.Index].ToString(); //文字列の描画 e.Graphics.DrawString(txt, e.Font, b, e.Bounds); //後始末 b.Dispose(); //フォーカスを示す四角形を描画 e.DrawFocusRectangle(); } ----------------------------------------------- を参考にしてForm1に private: System::Void ListBox1_DrawItem(System::Object^ sender, System::Windows::Forms::DrawItemEventArgs^ e) { //背景を描画する //項目が選択されている時は強調表示される e->DrawBackground(); //文字を描画する色の選択 } と書いてみたのですが、そのあとどうすればよいかわかりません。 わかる方、回答お願いします。

  • VBL ListBoxをテーブルに

    VBでListBoxを使ってテーブルのようにして以下のことをしたいのですがうまくいきません 1:列1の幅と列2の幅を個々で固定させ、文字数が列幅を超える場合、文字を折り返して表示 2:を追加していった時ListBoxの表示領域数を超えたら垂直スクロールバーを上下させ全表示  列1           列2 ------------------------ aaaaaa          123 ------------------------ bbbbbbbbbbbbbb bbbbbb          222 bbbbb ------------------------ cccccc          454 ------------------------ 1はイメージ的にはこんな感じです ListBoxをテーブルのようにするにはURLを参考にしました。 http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=JA-JP&k=k%28SYSTEM.WINDOWS.FORMS.LISTBOX.MULTICOLUMN%29&rd=true 説明が分かりにくくてすいません

  • ListBoxの最大表示項目数について

    お世話になります。 vbaのフォーム上にListBoxを配置し、ColumnCountを13と定義しましたが、 ColumnHeadsをTrueにし、項目数を見てみると10項目しか表示されません。 実際に実行してみて、仮の値を設定してみても、10項目しか表示されません。 Webで検索してみましたが、「255文字の上限では」と似たような質問の回答を確認しましたが、 13項目の値を全て足しても200文字に届きません。 11項目以上は表示できないのでしょうか。 環境はExcel2000,2002で確認をいたしました。 原因をご存知の方、ご教授下さいますようよろしくお願いいたします。

  • Excelで質問です。ListBoxの項目を別bookから読込むには

    Excelで質問です。ListBoxの項目を別bookから読込むには VBA初心者です。 book-AのListBox1からbook-Bのセルの項目を読み込むことは可能なのでしょうか。 Excel2003です。 book-AのUserForm1に下記のコードを実行しても構文エラーになってしまいます。 book-Aとbook-Bは同じフォルダに入っています。出来ればbook-Bを閉じた状態で実行できれば良いのですが Private Sub UserForm_Initialize() ListBox1.RowSource =[book-B.xls]Sheet1!A1:A10 End Sub