收录日期:2020/10/29 10:28:00 时间:2016/06/13 02:04:56 标签:组件/控件开发
1. 我定义了一个自定义组件如下: 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Drawing; 
using System.Data; 
using System.Text; 
using System.Windows.Forms; 
using System.Collections; 

namespace JXERPCOMPONENT 

    public partial class JXLabelCombobox : UserControl 
    { 
        public JXLabelCombobox() 
        { 
            InitializeComponent(); 
            this.DataBindings.CollectionChanged+=new CollectionChangeEventHandler           (DataBindings_CollectionChanged); 
        } 

        void DataBindings_CollectionChanged(object sender, CollectionChangeEventArgs e) 
        { 
            if ((e.Action == CollectionChangeAction.Add) && (e.Element != null) && ((e.Element as Binding).PropertyName == "SelectValue")) //Text 
            { 
                Binding bd = new Binding("SelectedValue", (e.Element as Binding).DataSource, (e.Element as Binding).BindingMemberInfo.BindingField); 
                this.comboBox.DataBindings.Add(bd); 
            } 
        } 
        private object selectvalue; 
        public object SelectValue 
        { 
            get { 
                this.selectvalue = this.comboBox.SelectedValue; 
                return this.selectvalue; 
            } 
            set 
            { 
                    this.selectvalue = value; 
                    this.comboBox.SelectedValue = value; 
                    this.Invalidate(); 
            } 
        } 

做了一个测试范例: 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Collections; 

namespace Componenttest 

    public partial class Frmjxcontrol : Form 
    { 
        public Frmjxcontrol() 
        { 
            InitializeComponent(); 
        } 

        private void Frmjxcontrol_Load(object sender, EventArgs e) 
        { 
            ArrayList al = new ArrayList(); 
            al.Add(new a("a1",1)); 
            al.Add(new a("a2",2)); 
            al.Add(new a("a3", 3)); 

            ArrayList b1 = new ArrayList(); 
            b1.Add(new b("b1",1)); 
            b1.Add(new b("b2", 2)); 

            this.dataGridView1.DataSource = al; 

            this.comboBox1.DataSource = b1; 
            this.comboBox1.DisplayMember = "B1"; 
            this.comboBox1.ValueMember = "C2"; 
            this.comboBox1.DataBindings.Add("SelectedValue", al, "C2"); 

            this.jxLabelCombobox2.DataSource = b1; 
            this.jxLabelCombobox2.DisplayMember = "B1"; 
            this.jxLabelCombobox2.ValueMember = "C2"; 
            this.jxLabelCombobox2.DataPropertyName = "C2"; 
            this.jxLabelCombobox2.DataBindings.Add("SelectValue", al, "C2"); 
            this.jxLabelCombobox2.Enabled = true; 
        } 
    } 
    public class a 
    { 
        public a(string vc1, int vc2) 
        { 
            c1 = vc1; 
            c2 = vc2; 
        } 

        private string c1; 
        public string C1 
        { 
            get { return c1; } 
            set { c1 = value; } 
        } 
        private int c2; 
        public int C2 
        { 
            get { return c2; } 
            set { c2 = value; } 
        } 

    } 
    public class b 
    { 
        public b(string vb1, int vc2) 
        { 
            b1 = vb1; 
            c2 = vc2; 
        } 
        private string b1; 
        public string B1 
        { 
            get { return b1; } 
            set { b1 = value; } 
        } 
        private int c2; 
        public int C2 
        { 
            get { return c2; } 
            set { c2 = value; } 
        } 

    } 

问题: 
   每次从GRID的第三行跳到第二行时都回报错。 
   请高手指教。 
报什么错啊,在表格内移动记录第三行跳到第二行吗?
up
對,移動到第三行以後再到第二行的時候就會報錯。並且數據都不会顯示出來。

LOOKDOWN 2000 的注册码 那位大侠讲讲debug板和release的区别,怎样生成release板? 来了好久,今天赠分以谢大家对我的帮助,顺便回答我一个问题,哈哈…… 不爽!谁来让我踹几脚? 我想一个月工资5000以上,什么样的公司能满足我?我学BCB,Dephi. 谁有学习Sybase PowerDesigner v7.5 的中文教程 怎样在Datareport的页标头上显示数据库中的数据? 如何备份和转移IE收藏夹的内容!!! 机器点不亮了 这个问题真叫简单--为何新建一个类而在ClassWizard中却看不到呢?抢答题,先来先得分! 谁告诉我一个能下WIN2000 SERVER的下载地址,48分等着你? 请推荐讲WIN2000server的好书 初级问题,如何把DBNavigator组件的delete按钮的删除警告换成中文的(即用api函数messagebox代替)? 如果在Win下把一个文件夹删掉了,在回收站中没有保存,有什么办法可以找回来?? 大家早上好,我感冒了,很难受 如何记录IE的地址? 急需帮助!!!!在OFFICE2000中如何设计自己的幻灯片模板,统一幻灯片的风格? 大家来谈谈J2EE和EJB,118分等着你!!!!!!!!! 急!设置cvs服务器的问题???谢谢!! db2连接 我想问几个lotusnotes domino的问题应该到哪里提问? 请教一个SOCKET ReceiveBuf的问题 to skyyoung(路人甲).图像中参数传递问题。急!!! db2 高手请指教,数据库性能急剧下降! ***我刚装的redhat7.0,进入xwindow用了10几分钟,硬盘一直响个不停,速度慢死了,请大家指教!(我的机器是速龙650,192M内存) 为什么老是死机? 菜鸟问题,大虾别笑!关于asp组件的编写??? 如何上传文件? 最菜的问题:ActiveReprot是什么?