为了账号安全,请及时绑定邮箱和手机立即绑定

从第二个表单访问选项卡控件并将表单插入第一个表单选项卡控件

从第二个表单访问选项卡控件并将表单插入第一个表单选项卡控件

C#
ITMISS 2021-09-19 15:43:37
拜托,我在使用 tabControl 时遇到了一个小问题。我有一个位于第一个表单上的 tabControl。最初,我在尝试从另一个表单访问 tabControl 时遇到了问题。但是后来我通过将设计器中的控件可访问性从私有更改为公共来找到了出路。但是,当我尝试从选项卡内部显示 时,它不起作用。但是从第一个表单开始,我可以轻松地将其他表单放入标签页中,因为我在那里拥有控件。从另一种形式来看,我遇到了困难。这是一个尝试从数据库中搜索数据的代码patient selectUser = new patient();        //Get Selected Patient based on end user click from the DataGridView        public patient GetSelectedUser()        {            if (dataGridView1.CurrentRow.Index != -1)            {                selectUser.patient_id = Convert.ToInt32(dataGridView1.CurrentRow.Cells["patient_id"].Value);                using (DbModel db = new DbModel ())                {                    selectUser = db.patients.FirstOrDefault(u => u.patient_id == selectUser.patient_id);                }            }            return selectUser;        }这是尝试将表单包含在 tabcontrol 中的代码。StartPage sp = new StartPage();    private void LoadSelectedUser()    {        patient patient = GetSelectedUser();        if (patient == null)        {            MessageBox.Show("cannot load data");        }        else        {            //Close();            //StartPage.tt = "";            //PatientDashboard pd = new PatientDashboard(patient);            //pd.Show();            Close();            PatientDashboard pd = new PatientDashboard(patient);            TabPage tabpage = new TabPage();            tabpage.Text = pd.Text;            sp.tabControl1.TabPages.Add(tabpage);            pd.TopLevel = false;            pd.Parent = tabpage;            pd.Show();            pd.Dock = DockStyle.Fill;            sp.tabControl1.SelectedTab = tabpage;            pd.Show();        }    }我注意到表单的 TopLevel 属性使表单不显示。将真诚地感谢任何帮助,因为我已经在这方面工作了 2 天。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信