有关C#winform的调用外部程序的问题

有关C#winform的调用外部程序的问题,第1张

以隐藏方式启动谨数这个外或宏部程序就行了,比如

ProcessStartInfo psi = new 祥团首ProcessStartInfo()

psi.FileName = "NOTEPAD.EXE"

psi.WindowStyle = ProcessWindowStyle.Hidden

Process.Start(psi)

建议这样试试看:

 新建一个类库,然后将这个类放到类库中,同时将此类设置为静态类缺冲

窗体项目中,添加此类库的引用,在窗体后台代码中引入命名空间

使局迅用的时候直接类伏腊歼名.成员去调用

Form1 调用 Form2的代码,可以利用 委托进行实现隐返,写了一个例子参考一下

//主窗体

public partial class MainForm : Form

    {

        private Form1 form1 = null

        private Form2 form2 = null

        public MainForm()

        {

            InitializeComponent()

            form1 = new Form1()

                       

            form2 = new Form2()

            //传递 Form2 的 Fun1 方法 到 Form1 的委托

            form1.Function = new Form1.FunctionDelegate(form2.Fun1)

        }

        private void btnForm1_Click(object sender, EventArgs e)

        {

            form1.Show()

        }

        private void btnForm2_Click(object sender, EventArgs e)

  吵蠢      {

            form2.Show()

        }

    } //Form1

    public partial class Form1 : Form

    {

        //定义一个委托类型

        //根据需要可以修改是否带参数和返回值

        public delegate void FunctionDelegate(string text)

        //些委托的值 由 Form2 函数 给出

        public FunctionDelegate Function

        public Form1()

        {

            InitializeComponent()

        }

        private void btnStart_Click(object sender, EventArgs e)

        {

            //如果委托不为空时,进行调用

            if (Function != null) {

          灶碰饥      Function("Hello")

            }

        }

    } //Form2

public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent()

        }

        //定义一个由 Form1 调用的方法

        //此方法的参数和返回值要和Form2的委托一致

        public void Fun1(string text)

        {

            label1.Text = text

        }

    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12212480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存