none
Методы и классы C# RRS feed

  • Вопрос

  • Есть класс со структурой

    public void CreateConfiguration()
    {
    // код метода
    }

    И еще один класс со структурой..

    public void MessageConternt(string title, string content)
        {
            form.panel65.Visible = true;
            form.label91.Text = title;
            form.label92.Text = content;
        }

    вопрос...

    Как мне вызвать метод MessageConternt() из метода CreateConfiguration().

    P.S. Это два разный класса, одного проекта...


    • Изменено motokraft 1 февраля 2015 г. 12:07
    • Перемещено YatajgaEditor 1 февраля 2015 г. 12:12
    1 февраля 2015 г. 12:07

Ответы

  • Можно проще,
    если не упаковывать цепочку методов в классы -

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace _Aaaa
    {
    //	Главная форма
    	public partial class Form1:Form
    	{
    //	Запуск, останов		
    		public Form1() {	InitializeComponent();		}
    //	Метод, запускаемый при нажатии кнопки
    		private void button1_Click	(	object sender,EventArgs e	)
    		{
    			CreateConfiguration ();
    		}
    		public void CreateConfiguration () 
    		{
    //	Чтение текста из текст-боксов и передача вызываемому методу
    			MessageContent ( textBox1.Text, textBox2.Text);
    		}
    		public void MessageContent	( string Title, string Content ) 
    		{
    			MessageBox.Show	(	Title + "\n" + Content	);
    		}
    	}
    }
    

    1 февраля 2015 г. 18:26

Все ответы

  • Ваших классов не видно.
    В примере Вы привели два метода.

    • Изменено QazRdx 1 февраля 2015 г. 12:30
    1 февраля 2015 г. 12:29
  • Может быть так должно быть - 

    public class A { public void CreateConfiguration ()
    { ...
    B b = new B ();
    b.MessageContent (...);
    }

    public class B { public void MessageContent ( ... ) { ... } }

    1 февраля 2015 г. 12:39
  • метод CreateConfiguration() выполняется при нажатии на кнопку в форме...

    мне надо выполнить метод MessageConternt() из CreateConfiguration()

    1 февраля 2015 г. 12:40
  • using System;
    ...
    namespace ...
    {

    public class A { public void CreateConfiguration ()
    { ...
    B b = new B ();
    b.MessageContent (...);
    }

    public class B { public void MessageContent ( ... ) { ... } }

    private void button1_Click(object sender,EventArgs e)
    { a.CreateConfiguration (); }
    public A a;
    public partial class Form1  : Form {
    a = new A();
    }
    }
      //



    • Изменено QazRdx 1 февраля 2015 г. 12:56
    1 февраля 2015 г. 12:54
  • с сделал так...

    public void CreateConfiguration()
    {
    // код метода
    
    Message Message = new Message();
    Message.MessageConternt("", "");
    }
    выдает ошибку 
    .Message не содержит конструктор, который принимает 0 аргументов

    1 февраля 2015 г. 13:09
  • Внимательней смотрите мой вариант
    1 февраля 2015 г. 13:12
  • подскажите мне, а то я не вижу...
    1 февраля 2015 г. 13:17
  • using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace _Aaaa
    {
    //	A - класс 
    	public class A
    	{
    //	Тот самый метод, из которого нужно запустить 
    //	MessageContent из B - класса
    		public void CreateConfiguration () 
    		{
    //	Инициация объекта B - класса
    			B b = new B ();
    //	Запуск метода из B - класса
    			b.MessageContent ( "Title", "Content");
    		}
    	}
    //	B - класс
    	public class B
    	{	public void MessageContent	( string Title, string Content ) 
    		{
    //			...
    		}
    	}
    //	Главная форма
    	public partial class Form1:Form
    	{
    //	Запуск главной формы, останов		
    		public Form1() {	InitializeComponent();		}
    //	Метод, запускаемый при нажатии кнопки
    		private void button1_Click	(	object sender,EventArgs e	)
    		{
    //	Инициация объекта A - класса
    //	При отладке поставить точку останова и выполнить трассировку
    			A a = new A ();
    //	Запуск метода A - класса
    			a.CreateConfiguration ();
    		}
    	}
    }


    • Изменено QazRdx 1 февраля 2015 г. 13:48
    1 февраля 2015 г. 13:38
  • Я понял, что в классе получаю доступ к элементам из формы

    доступ к объектам из формы

    Вот почему выдаешь ошибку в коде

    Message Message = new Message("");
    Message.MessageConternt("", "");
    Но не могу понять какие аргументы мне надо передавать...

    1 февраля 2015 г. 13:49
  • Можно проще,
    если не упаковывать цепочку методов в классы -

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace _Aaaa
    {
    //	Главная форма
    	public partial class Form1:Form
    	{
    //	Запуск, останов		
    		public Form1() {	InitializeComponent();		}
    //	Метод, запускаемый при нажатии кнопки
    		private void button1_Click	(	object sender,EventArgs e	)
    		{
    			CreateConfiguration ();
    		}
    		public void CreateConfiguration () 
    		{
    //	Чтение текста из текст-боксов и передача вызываемому методу
    			MessageContent ( textBox1.Text, textBox2.Text);
    		}
    		public void MessageContent	( string Title, string Content ) 
    		{
    			MessageBox.Show	(	Title + "\n" + Content	);
    		}
    	}
    }
    

    1 февраля 2015 г. 18:26