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

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

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

Re[6]: ListBoxの選択されているItemの入れ替え方法


(過去ログ 102 を表示中)

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

■60892 / inTopicNo.1)  ListBoxの選択されているItemの入れ替え方法
  
□投稿者/ やんまー (74回)-(2011/07/23(Sat) 01:08:08)

分類:[VB.NET/VB2005 以降] 

2011/07/23(Sat) 01:09:23 編集(投稿者)

ListBoxの質問ばかりで恐縮です 汗

リストボックスとテキストボックスを並べ、
リストボックスの項目を選択せずにボタンを押すと、テキストボックスの値をaddし、
もし選択されていた場合には、テキストボックスの値と置換したいです。

簡単にできると思ったのですが、置換ができませんでした・・・

listBox.SelectedItem = textbox.text

とやっても入れ替わりませんでした。
ためしに
ListBox.Refresh()

してみたのですが・・・


変わりに、インデックス番号を利用して、
ListBoxの○番目の要素を置換、というやり方でもかまいません。


よろしくお願いします。

引用返信 編集キー/
■60893 / inTopicNo.2)  Re[1]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ επιστημη (2658回)-(2011/07/23(Sat) 01:52:10)
επιστημη さんの Web サイト
> リストボックスとテキストボックスを並べ、
> リストボックスの項目を選択せずにボタンを押すと、テキストボックスの値をaddし、
> もし選択されていた場合には、テキストボックスの値と置換したいです。

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If ListBox1.SelectedIndex < 0 Then
            ListBox1.Items.Add(TextBox1.Text)
        Else
            ListBox1.Items(ListBox1.SelectedIndex) = TextBox1.Text
        End If
    End Sub

なにがわからんのかさっぱりわからんですがー

引用返信 編集キー/
■60896 / inTopicNo.3)  Re[2]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ やんまー (75回)-(2011/07/23(Sat) 07:10:41)
επιστημη さん

おそれいります。


textbox.text = listBox.SelectedItem

は値が取れて

listBox.SelectedItem = textbox.text

でセットできないのは、どのような理由なのでしょうか・・・
引用返信 編集キー/
■60897 / inTopicNo.4)  Re[3]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ Azulean (794回)-(2011/07/23(Sat) 08:15:38)
No60896 (やんまー さん) に返信
> textbox.text = listBox.SelectedItem
> は値が取れて
> listBox.SelectedItem = textbox.text
> でセットできないのは、どのような理由なのでしょうか・・・

前者は ListBox の中で選択されているものを返すものです。
後者は ListBox の中で次に選択するものを指定するものです。従って、ListBox の中に存在するものを指定する必要があります。

やんまー さんがやりたいのは、選択されている位置のものを置き換えることなので、SelectedItem プロパティを使えません。
引用返信 編集キー/
■60903 / inTopicNo.5)  Re[4]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ やんまー (76回)-(2011/07/23(Sat) 15:14:13)
Azulean さん

おそれいります!

もうやりたいことはεπιστημη さんの教えてくだすった方法で解決しているのですが、
もう少し気になるので教えてください!



> 前者は ListBox の中で選択されているものを返すものです。
> 後者は ListBox の中で次に選択するものを指定するものです。従って、ListBox の中に存在するものを指定する必要があります。
>
> やんまー さんがやりたいのは、選択されている位置のものを置き換えることなので、SelectedItem プロパティを使えません。


ここ

http://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox.selecteditem(v=VS.80).aspx

を見ると
「ListBox 内で現在選択されている項目を取得または設定します。」

と書いてあります。

で、構文のところに

value = instance.SelectedItem

instance.SelectedItem = value

とあり、セットもできるように見えます。


これはどういうことなのでしょうか・・・

引用返信 編集キー/
■60904 / inTopicNo.6)  Re[5]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ 魔界の仮面弁士 (2269回)-(2011/07/23(Sat) 16:06:41)
No60903 (やんまー さん) に返信
> セットもできるように見えます。
セットはできますよ。Azulean さんも「選択するものを指定する」と書かれていますよね。


Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        ListBox1.Items.Add("ああああ")
        ListBox1.Items.Add("いいいい")
        ListBox1.Items.Add("うううう")
        ListBox1.Items.Add("ええええ")
        ListBox1.Items.Add("おおおお")

        'どれも選択されていない状態にする
        ListBox1.SelectedIndex = -1
    End Sub

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        '三番目の「うううう」を選択する
        ListBox1.SelectedItem = "うううう"
    End Sub

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        'どの項目が選択されているのかを取得する
        Label1.Text = String.Format("SelectedIndex={0}, SelectedItem={1}", _
                                    ListBox1.SelectedIndex, ListBox1.SelectedItem)
    End Sub
End Class

引用返信 編集キー/
■61063 / inTopicNo.7)  Re[6]: ListBoxの選択されているItemの入れ替え方法
□投稿者/ やんまー (78回)-(2011/08/01(Mon) 00:28:31)
魔界の仮面弁士 さん


> セットはできますよ。Azulean さんも「選択するものを指定する」と書かれていますよね。

畏れ入ります。
私の理解が間違っていました 汗

ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -