none
求教:让两个控件一起变化,谢谢!!! RRS feed

  • 問題

  • 在两个窗体(FORM1,FORM2)里各有一自定义控件a(类型一样),我想让FORM2里的控件a和form1里的a一样(即当form1里的a变化,FORM2里的控件a也一起变化),求教该如何做,谢谢!!!
    2014年12月27日 下午 02:01

解答

  • 谢谢!!!Bill Chung:

    数据绑定只能一项一项绑定:

    我想实现的是:

    在Form1里的a和Form2里的a其实是一个控件:

    我原用的是在Form2里:Me.Controls.Add(Form1.a)

    这样当我不论调用哪个窗体里的a,结果都一样

    现在我想在两个窗体上个放一个a,所有属性都一样(名称,所有属性设置),我想让两个a互相绑定,已达到不论调用哪个窗体里的a,结果都一样,该如何做,谢谢!!!


    我認為是沒有這種可能, 就算用反射也是一個一個拿出來做對照. 所以頂多就是用迴圈加上反射做出來.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 YQY888 2014年12月29日 上午 05:42
    2014年12月28日 下午 02:46
    版主

所有回覆

  • 從您的描述無法自訂控制項的設計,參考以下連結,將 Form1 的資料傳遞到 Form2,再 Form2 的控制項進行連動變化

    [.NET Concept][C#][VB.NET].NET兩個表單間的資料互通


    歡迎參觀我的Blog【菜鳥自救會】

    2014年12月28日 上午 02:43
    版主
  • 谢谢:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Form2.a=Form1.a

    End Sub

    当Form1里a变化,为何Form2里的a不变化,谢谢!!!

    2014年12月28日 上午 03:27
  • 這得看你想要變化的是甚麼, 這種情境通常用事件或繫結來做

    比方很簡單的設計

    UserControl 上只有一個名為 TextBox1 的 TextBox
    Form1 上加入此 UserControl , 然後加上一個Button 開啟 Form2

    Public Class Form1
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Form2.Show()
        End Sub
    End Class

    Form2  加上繫結
    Public Class Form2
        Sub New()
            InitializeComponent()
            Me.UserControl11.TextBox1.DataBindings.Add("Text", Form1.UserControl11.TextBox1, "Text")
        End Sub
    End Class

    這樣就完成了.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2014年12月28日 上午 05:10
    版主
  • 有試過強制Form2的a更新顯示嗎? 例如:

    Form2.a.Refresh()

    2014年12月28日 上午 10:46
  • 谢谢!!!Bill Chung:

    数据绑定只能一项一项绑定:

    我想实现的是:

    在Form1里的a和Form2里的a其实是一个控件:

    我原用的是在Form2里:Me.Controls.Add(Form1.a)

    这样当我不论调用哪个窗体里的a,结果都一样

    现在我想在两个窗体上个放一个a,所有属性都一样(名称,所有属性设置),我想让两个a互相绑定,已达到不论调用哪个窗体里的a,结果都一样,该如何做,谢谢!!!

    2014年12月28日 上午 11:31
  • 谢谢!!!Bill Chung:

    数据绑定只能一项一项绑定:

    我想实现的是:

    在Form1里的a和Form2里的a其实是一个控件:

    我原用的是在Form2里:Me.Controls.Add(Form1.a)

    这样当我不论调用哪个窗体里的a,结果都一样

    现在我想在两个窗体上个放一个a,所有属性都一样(名称,所有属性设置),我想让两个a互相绑定,已达到不论调用哪个窗体里的a,结果都一样,该如何做,谢谢!!!


    我認為是沒有這種可能, 就算用反射也是一個一個拿出來做對照. 所以頂多就是用迴圈加上反射做出來.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 YQY888 2014年12月29日 上午 05:42
    2014年12月28日 下午 02:46
    版主
  • 谢谢!!!
    2014年12月29日 上午 05:42