我有两个项目,在两个项目之间传递值时遇到问题。像往常一样,我已经传递了项目之间的文件引用。
我的项目详细信息是:
Project1 Project2
All forms and object Only 1 MDI Forms Containing ManuStrip
我想在显示 project1 表单时读取 MDI 表单的数据 示例如下:
//This is on Project2 MDI Forms
private void accountMasterToolStripMenuItem_Click(object sender, EventArgs e)
{
INVOICE1.Form24 f24 = new INVOICE1.Form24();
f24.PFrom.Text = label4.Text;
f24.PTo.Text = label5.Text;
f24.Namee.Text = textBox1.Text;
f24.ID.Text = label6.Text;
f24.ShowDialog();
}
我已经在 project1 表单上创建了相同的属性
public Label PFrom
{
get { return label14; }
set { label14 = value; }
}
public Label PTo
{
get { return label16; }
set { label16 = value; }
}
public Label Namee
{
get { return label2; }
set { label2 = value; }
}
public Label ID
{
get { return label3; }
set { label3 = value; }
}
从 MDI 传递到 Project1 的值未显示在 Project1 的 Form24 上。没有错误。从MDI Form传过来的没有值的Form24 Showing。
为什么值没有显示在 project1 的 form24 上?。解决方案是什么?
最佳答案
您可能忘记在 Project2 中添加对 Project1 的项目引用。在解决方案资源管理器中,右键单击 Project2 并选择“添加引用”,然后在“项目”下选择 Project1。
另外,如果两个项目有不同的命名空间,你需要把
using Project1; // replace "Project1" with the namespace of your Project1
在 Project2 源文件的顶部。
如果没有编译器错误,则问题不太可能出在项目引用上。也许您在 Form24 构造函数或 Load 事件中有一些代码正在清除这些标签
作为旁注,不要将 Labels 公开为属性,只需公开其 Text 属性:
public string PFrom
{
get { return label14.Text; }
set { label14.Text = value; }
}
关于c# - 在两个项目之间传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811110/