c#列表框和标签页

时间:2016-07-21 08:07:15

标签: c# listbox tabpage

我在使用相同数据源的不同标签页上有2个列表框

基本上是tabpage1 + listbox1和tabpage2 + listbox2

我试图执行以下操作:

当我从tabpage1上的listbox1中选择Item时,我希望tabpage2上的listbox2选择相同的项目

我试过了:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <TextView
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="10dp"
        android:layout_weight="0.2"
        android:text="99.99.9999" />

    <LinearLayout
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="0.6"
        android:orientation="vertical">

        <TextView
            android:id="@+id/txtComment"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="This is a correct looking textThis is a correct looking textThis is a correct looking textThis is a correct looking textThis is a correct looking text" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="0.2">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_marginTop="10dp"
            android:gravity="right"
            android:text="-1234,56"
            android:textStyle="bold" />
    </LinearLayout>
</LinearLayout>

也是这样:

listbox1.SelectedItem = listBox2.SelectedItem;

没有按预期工作,我想知道它是否可能?

3 个答案:

答案 0 :(得分:1)

确保tabControl声明为publicinternal。如果没有,那么在designer.cs文件中将tabControl从private更改为public

private System.Windows.Forms.TabControl tabControl1;

public System.Windows.Forms.TabControl tabControl1;

然后

using (Form form = new Form())
{         
     form.listbox1.SelectedItem = form.listBox2.SelectedItem;
}

答案 1 :(得分:1)

最后我用PaulF的例子做了

这是我的工作代码:

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string sitem = listBox1.SelectedItem.ToString();
        int index = listBox2.FindString(sitem);
        listBox2.SetSelected(index, true);
    }

所以当我在listbox1中选择项目时,它也会在listbox2中选择它

答案 2 :(得分:0)

设置SelectedIndex的{​​{1}}属性:

listbox2