Member 12712519 Ответов: 1

Как отобразить результат в другом виде?


привет, ребята, я новичок в кодировании на c#. Я хотел бы знать, как я могу передать значения строки str1 в другую форму и отобразить ее в другой форме windows из приведенного ниже кода. Ну, я могу отобразить его в messagebox как " MessageBox.Show (str1);" но я хочу передать значение str1 и отобразить его в другой форме.

Что я уже пробовал:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using MyExcel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using Microsoft.Vbe.Interop;
using System.Diagnostics;


namespace Loans
{

    public partial class Form1 : Form
    {
        public Form1()
        {

            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {




            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "Select an Excel File";
            fdlg.InitialDirectory = @"d:\test";
            fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
            fdlg.FilterIndex = 2;
            fdlg.RestoreDirectory = true;





            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show("selected file is :" + fdlg.FileName);

            }

            MyExcel.Application xlApp;
            MyExcel.Workbook xlWorkBook;
            MyExcel.Worksheet xlWorkSheet;
            MyExcel.Range range;

            string cellValue;
            int rCnt;
            int cCnt;
            int rw = 0;
            int cl = 0;

            Loans.Form2 frm = new Loans.Form2();


            xlApp = new MyExcel.Application();
            xlWorkBook = xlApp.Workbooks.Open(@fdlg.FileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (MyExcel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            range = xlWorkSheet.UsedRange;
            rw = range.Rows.Count;
            cl = range.Columns.Count;

            //MessageBox.Show("Working");
            for (rCnt = 1; rCnt <= rw; rCnt++)
            {
                for (cCnt = 1; cCnt <= cl; cCnt++)
                {

                    string str = Convert.ToString((range.Cells[rCnt, "N"] as MyExcel.Range).Value2);

                    if (str == "3" || str == "4" || str == "5" || str == "6" || str == "7")
                    {
                        string str1 = Convert.ToString((range.Cells[rCnt, cCnt] as MyExcel.Range).Value2);
                        MessageBox.Show(str1); //want to display the values
                                               //of str1 in a seperate form  


                    }


                }
            }



            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            Marshal.ReleaseComObject(xlWorkSheet);
            Marshal.ReleaseComObject(xlWorkBook);
            Marshal.ReleaseComObject(xlApp);

        }

        public void Show(string text)
        {

            this.Show();
        }




        private void Form1_Load(object sender, EventArgs e)
        {
            InitializeComponent();
        }


    }
}

1 Ответов

Рейтинг:
12

OriginalGriff

Это зависит от того, в какой именно форме вы хотите его отобразить!
Если у вас еще нет формы, то это довольно просто. Создайте новую форму (добавив ее в свой проект - щелкните правой кнопкой мыши проект на панели обозревателя решений, и он появится в раскрывающемся меню) Добавьте метку или текстовое поле к вашей форме в конструкторе и дайте ей соответствующее имя: theControlIWantToDisplayIn подойдет для этого обсуждения. Затем добавьте свойство в форму:

public string DisplayThis
   {
   get { return theControlIWantToDisplayIn.Text; }
   set { theControlIWantToDisplayIn.Text = value; }
   }
Затем, когда вы хотите отобразить сообщение из вашей исходной формы:
MyNewForm f = new MyNewForm();
f.DisplayThis = str1;
f.ShowDialog();


Если ваша форма уже видна, и вы хотите добавить в нее информацию, то это сложнее, но один из них должен помочь:
Передача информации между двумя формами, Часть 1: Родитель-Ребенок[^]
Передача информации между двумя формами, Часть 2: Ребенок-Родитель[^]
Передача информации между двумя формами, Часть 3: Ребенок ребенку[^]