-1

メインウィンドウと2番目のウィンドウの2つのフォームがあります。メインウィンドウ( )は、2番目のウィンドウ( )Form1からテキストを取得します。Form2

2番目のウィンドウ(Form2)はフォーム2からフォーム1にテキストを書き込むことができます。クラスではテキストの色を選択できますが、問題は、テキストを送信するボタンを押すと、選択した色のないテキストが表示されることです。Form1例を黄色で送信すると、テキストは黒になります。

私はこれにかなり慣れていないので、C#の専門家ではありません。修正するのは非常に簡単な問題だと思いますが、私にとってはそれほど簡単ではありません。

Form1.cs

 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;

 namespace tester
 {
    public partial class Form1 : Form
    {
     public string text;
     public Form1()
     {
        InitializeComponent();
     }

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 NewForm2 = new Form2(this);
        NewForm2.Show();
    }

    internal void populate()
    {
        richTextBox1.Text = text;
    }
}

Form2.cs

 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;

   namespace Tester
   {
   public partial class Form2 : Form
    {
    Form1 texting;
    public Form2(Form1 iForm)
    {
        texting = iForm;
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        texting.text = richTextBox1.Text;
        texting.populate();
        this.Close();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        if ( MyColorDialog.ShowDialog() != DialogResult.Cancel)
        {
            richTextBox1.ForeColor = MyColorDialog.Color;
        }
    }
}
4

1 に答える 1

0

Form1 で作成public string textしているように、プロパティを作成できpublic Color rictTextBoxColorます。次に、それも設定し、 populate メソッドで参照します

于 2012-12-09T20:14:29.773 に答える