Re[5]: Как получить доступ к объектам на форме из своего кла
От: nomicon Россия  
Дата: 13.09.06 14:27
Оценка:
Здравствуйте, NewSMV, Вы писали:

NSM>Здравствуйте, nomicon, Вы писали:


N>>Виснет не из-за вызова метода формы из "внешнего" класса, сам часто пользуюсь такими вещами, а из-за чего-то другого. Так что код в студию. Тогда и можно говорить что виснет.


NSM>Весь код слишком здоровый, вот код примера с той-же проблемой...


NSM>
NSM>using System;
NSM>using System.Drawing;
NSM>using System.Collections;
NSM>using System.ComponentModel;
NSM>using System.Windows.Forms;
NSM>using System.Data;

NSM>namespace Proverka
NSM>{
NSM>    public class Form1 : System.Windows.Forms.Form
NSM>    {
NSM>        private System.Windows.Forms.Button button1;
            public System.Windows.Forms.Label label1; // Попробуй так
NSM>        public static myclass Forma = new myclass();
NSM>        public Prov ProvClass = new Prov(this);

NSM>        private System.ComponentModel.Container components = null;

NSM>        public Form1()
NSM>        {
NSM>            InitializeComponent();
NSM>        }

NSM>        protected override void Dispose( bool disposing )
NSM>        {
NSM>            if( disposing )
NSM>            {
NSM>                if (components != null) 
NSM>                {
NSM>                    components.Dispose();
NSM>                }
NSM>            }
NSM>            base.Dispose( disposing );
NSM>        }

NSM>        [Windows Form Designer generated code]

NSM>        public class myclass
NSM>        {
NSM>            public Form1 Form1=null;
NSM>        }


        public class Prov
        {
            private Form1 mForm1;
            public Prov(Form1 form1)
            {
                mForm1=form1;
            }
            public void Deistvie()
            {
                mForm1.label1.Text="Text";                
            }
        }    


        [STAThread]
NSM>        static void Main() 
NSM>        {
NSM>            Application.Run(new Form1());
NSM>        }

NSM>        private void button1_Click(object sender, System.EventArgs e)
NSM>        {
NSM>            ProvClass.Deistvie();
NSM>        }
NSM>    }
NSM>}

Кстати на .NET не с Delphi/Builder переходил? а то сильно похоже...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.