在表单

时间:2017-06-05 18:57:59

标签: c#

我一直遇到这个问题的麻烦,我想我需要了解它是如何工作的,我有FormMain(我的主要表单)和第二个表单(FormAddUrls),当我打开form2(FormAddUrls)我想通过multitextbox值返回主窗体(FormMain)

我在VB中知道它很简单: FormMain.txtBoxUrls.Text = finalOutput; 但在C#中并不那么容易。

(form1) - FormMain

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Windows.Forms;
using WraithProjectCreator;
using IronPdf;
using System.Text;

namespace GSAProjectCreator
{
    public partial class FormMain : Form
    {
        private IniParser m_Parser = null;

        public FormMain()
        {
            InitializeComponent();
        }

        private void btnShowUrlsForm_Click(object sender, EventArgs e)
        {
            FormAddUrls fau = new FormAddUrls();
            fau.Show();
        }

     }
}

(form2) - FormAddUrls

using GSAProjectCreator;
using System;
using System.Text;
using System.Windows.Forms;

namespace WraithProjectCreator
{
    public partial class FormAddUrls : Form
    {
        public FormAddUrls()
        {
            InitializeComponent();
        }

        private void btnAddUrls_Click(object sender, EventArgs e)
        {
            StringBuilder builder = new StringBuilder();
            builder.Append("{");
            foreach (string line in txtBoxURLsMass.Lines)
            {
                //Helpers.returnMessage(line);
                builder.Append(line + "|");
            }
            builder.Append("}");
            string finalOutput = "";
            if (builder.ToString().Contains("|}")) {
                finalOutput = builder.ToString().Replace("|}", "}");
            }
            //FormMain.txtBoxUrls.Text = finalOutput;
            this.Close();
        }

    }
}

我已经遗漏了很多form1的代码来保留基本结构,我试图将 finalOutput 从form2传回form1(txtBoxUrls.Text)文本框,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这取决于您希望如何使用主窗体 - 您可以设置一个静态属性(可以更新所有主窗体实例的文本)。

如果您只有一个主窗体,并在创建FormAddUrls对象时引用它,那么您应该只更改构造函数以接受MainForm(或尽可能通用的类型),将引用存储为字段并在单击按钮时更新其上的属性:

var hex = 'ABC';

var doubledHex = Array.from(hex).map(function(i) {
  return i + i;
}).join('');

console.log(hex);
console.log(doubledHex);