求助!!跨窗体标题修改问题
我新建了2个窗体:mainfrm,titlefrm,在titlefrm中有文本框tbtitle,一个按扭我想在titlefrm的文本框tbtitle中输入一段字修改mainfrm的标题(.Text),在按扭的单击事件中
有代码:
mainfrm mf = new mainfrm();
mf.Text = tbtitle.Text;
但是程序运行时,点按扭根本没反应,是什么原因? 有谁知道啊
请指点!!!
感激不尽 你应该在main窗体里面添加一个修改标题的方法,然后在另一个窗体中引用它(传参)! 这种思路应该是有问题的,我先前也有个相似的问题
你当前的主窗体跟你new以后的窗体不是同一个
你改了也看不到,
你可以用show出来看一下效果 分清楚NEW出来的东西是一个新的实例(占用内存的)一般那样修改是不成的,要获取那个窗口的实例类才能修改才有效果。 就是啊~~我对这个问题的思路理解一直有问题,刚开始还以为很容易,结果做起来才感觉没那么简单
试了很多方法,最后把自己都搞晕了,能告诉我一个确切的思路吗? public static string titleName="";在titlefrm设置并赋值,在mainfrm得到这个值,要不你就用属性传值,(在mainfrm定义一个属性,在titlefrm给这个属性赋值),这样也是可行的,就跟查找替换一样, private string titleName="MainForm";
public string TitleName
{
get { return this.titleName; }
set { this.titleName = value; }
}
public mainfrm()
{
InitializeComponent();
}
private void mainfrm_Load(object sender, EventArgs e)
{
this.Text = TitleName;
}
titlefrm
private void button1_Click(object sender, EventArgs e)
{
mainfrm frm = new mainfrm();
frm.TitleName = this.textBox1.Text;
frm.ShowDialog();
}
我调试了下,是可以的, public static string titleName = "";
public titlefrm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
titleName = this.textBox1.Text;
mainfrm frm = new mainfrm();
frm.ShowDialog();
}
public mainfrm()
{
InitializeComponent();
}
private void mainfrm_Load(object sender, EventArgs e)
{
this.Text = titlefrm.titleName;
}
这个也是可行的,我也调试了下 谢谢! 不好意思又来打搅了.
请问楼上的,这种方法确实可以更改mainfrm标题,但是有一个窗体重叠的问题
因为我启动窗体所用的方法也是mainfrm.showdialog(),和modifyfrm.showdialog(),这样修改过后就同时有四个窗体 显示,然后我
修改了modifyfrm窗体中的按纽的dialogresult属性为cancel,结果还是有这个窗体重叠问题,这怎么解决呢? 可以把当前的隐藏了,再弹出你要的窗体.
把当前窗体隐藏的代码:
this.Hide(); // 对用户隐藏窗体 例如:
我现在有两个窗体,Form1 和Form2.
//我在Form2写多个构造函数,带个字符串的参数.
public Form2(string title)
{
InitializeComponent();
this.Text = title;
}
然后我希望通过Form1的按纽,点击后把Form1的TextBox的值传到Form2,改Form2的标题.再把Form1隐藏.
在Form1的按纽单击事件里面写:
Form1 f2 = new Form1(textBox1.Text);
this.Hide();
f2.ShowDialog();
[[it] 本帖最后由 每天开心点 于 2008-5-11 12:42 编辑 [/it]] 当前的修改标题窗体form2是隐藏了~~可是form1原本就存在,现在又打开了一个form1,
在按钮单击事件中 用 form1 f2 = new form1(texbox1.text)
f2.hide()
this.hide()
f2.showdialog()
这样并不能隐藏form1窗体,只能隐藏form2
我怎样才能同时隐藏先打开的两个窗体?
回复 13# 每天开心点 的帖子
请问怎样才能隐藏最初打开的主窗体呢?因为子窗体是通过主窗体菜单打开的,修改了标题后程序会有2个主窗体同时在运行.一个是修改了标题的一个是没有修改标题的
页:
[1]
