0

I have to pass value into RichTextBox from a class. Here is my code. I have to pass values into any tools like textbox, listbox but I don't know how. I have to use delegates to pass md value to both methods and into the same richtextbox.


 namespace delegateEx2
{
    public class MyClass : Form1
    {
        delegate void MyDelegate(string MyString);

        public void ShowThoseMessages()
        {
            MyDelegate md = new MyDelegate(log1);
            md += log2;
            md("Error Log Text");
        }

        public void log1(string message) {

            //what can I write here to pass the md into the RichTextBox on Form1.cs
            //I tried something like Systems.Windows.Form.rtxblog but did not work 
            //......................................


        }

        public void log2(string message2)
        {

          //.....................................

        }

    }

2
  • this.rtxblog.Text += message ? Commented Jan 24, 2013 at 5:42
  • nope! does not work. Even Class inherits from public class MyClass : Form1 but it can not access or pass. Commented Jan 24, 2013 at 5:47

2 Answers 2

2

I had to look this up before. Here is some example code...

TheClass.cs

using System.Windows.Forms;

...

public bool validateForm(TextBox txtTitle, TextBox txtPath, CheckedListBox ckList)
{
    bool title = false;
    bool path = false;

    if (txtTitle.Text == String.Empty)
    {
       title = false;
       txtTitle.Text = "Title is empty!";
       paintred(txtTitle);
    } else { title = true; paintwhite(txtTitle); }
    if (txtPath.Text == String.Empty)
    {
       path = false;
       txtPath.Text = "Path is empty!";
       paintred(txtPath); 
    } else { path = true; paintwhite(txtPath); }   

    bool ckItem1 = ckList.GetItemChecked(0);
    bool ckItem2 = ckList.GetItemChecked(1);
    bool ckItem3 = ckList.GetItemChecked(2);
    bool ckItem4 = ckList.GetItemChecked(3);
    bool ckItem5 = ckList.GetItemChecked(4);

    if (title && path && ckItem1 && ckItem2 
        && ckItem3 && ckItem4 &&
           ckItem5 )
        return true;
    else
        return false;
}

Then in my form I have...

    if (TheClass.validateForm(txtBox, txtBox2, listCheckList))
    {
        txtBox3.Text = TheClass.generateItem1(something, something2);
        txtBox4.Text = TheClass.generateItem2(something, something2, txtPath.Text, txtTitle.Text, listCheckList.GetItemChecked(5));
    }
    else
    {
        MessageBox.Show("Please check fields marked in red, if any. Double check your Check List required items.", "Title Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
Sign up to request clarification or add additional context in comments.

Comments

0

The simple questions is to change the modifier in your richtextbox declaration. You can find the declaration in Form1.designer.cs. Change the modifier from private to protected, then you can access the richtextbox from log1 method.

1 Comment

ok.i am able to see richboxtext but it does not pass the value for example code public void log1(string message) { rtxtLog.Text = message; MessageBox.Show(message); } code <br/> that is why i mentioned using delegates.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.