首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用户控件中修复错误,从主表单中获取数据?

如何在用户控件中修复错误,从主表单中获取数据?
EN

Stack Overflow用户
提问于 2021-12-13 06:25:27
回答 1查看 65关注 0票数 -1

我已经创建了一个小表单和一个用户控件,但是我不知道如何将数据从数据库的一端传递到另一个用户控件,按照网络上的一些教程,我使用了(get;set)对。这是:

主要形式的

代码语言:javascript
复制
string query = @"select t.Ma_Nvu,t.Ten_Nvu,t.Time_Start,t.Time_End,d.Noi_dung from ToDoList_ListNvu t
                left join ToDoList_NoiDungNvu d on t.Ma_Nvu = d.Ma_Nvu
                where t.Status like N'Chưa hoàn thành'";
        dt = (new Data()).executeQuery(query);
        if (dt.Rows.Count == 0) 
        {
            MessageBox.Show("Bạn cần tạo nhiệm vụ trước để vào !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }
        else
        {
            ProcessToDoList tdl = new ProcessToDoList();
            BunifuTransition trans = new BunifuTransition();
            this.PageToDoList.Controls.Add(tdl);
            tdl.Location = new Point(0, 0);
            tdl.Size = new Size(0, 567);
            if (tdl.Width == 0)
            {
                tdl.Width = 1014;
                trans.ShowSync(tdl, false, Bunifu.UI.WinForms.BunifuAnimatorNS.Animation.HorizBlind);
                tdl.BringToFront();
            }
            foreach (DataRow dr in dt.Rows)
            {
                DataList data = new DataList();
                data.Name = dr["Ten_Nvu"].ToString();
                data.Time_Start = dr["Time_Start"].ToString();
                data.Time_End = dr["Time_End"].ToString();
                data.Noi_Dung = dr["Noi_dung"].ToString();
                dtaAdd.Add(data);
            }
            int i = 0;
            while (i < dt.Rows.Count)
            {
                tdl.Name_Nvu = dtaAdd[i].Name;
                tdl.Noi_dung = dtaAdd[i].Noi_Dung;
                tdl.Time_Start = dtaAdd[i].Time_Start;
                tdl.Time_End = dtaAdd[i].Time_End;
                if (tdl.CheckOut()==true)
                {
                    i++;
                }
            }

In UserControl

代码语言:javascript
复制
public string Name_Nvu
    {
        get { return _name; }
        set { _name = value; }
    }
    public string Noi_dung
    {
        get {return _noidung ; }
        set {_noidung = value; }
    }
    public string Time_Start
    {
        get { return _timestart; }
        set { _timestart = value; }
    }
    public string Time_End
    {
        get { return _timeend; }
        set { _timeend = value; }
    }

但不起作用。我不知道错误在哪里,所以我想问每个人如何将数据从表单传递到用户控件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-13 21:20:53

我不知道你收到了什么错误信息,但是把值从表单传递给你的UC是可以这样做的。

在你的User Control

代码语言:javascript
复制
  private string _name;
  [Category("Custom Props")]
  public string custom_name
  {
     get { return _name; }
     set { _name = value; }
  }

然后,在您的form中,您可以通过执行以下操作为用户控件中的_name字符串赋值:

代码语言:javascript
复制
   myUC test = new myUC(); //Your user control
   test.custom_name = dtaAdd[i].Name; 
   panel1.Controls.Add(test);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70330675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档