Винформс - класс - PullRequest
       39

Винформс - класс

0 голосов
/ 03 декабря 2009

Привет! Я пытаюсь повторно использовать какой-то код, на который я указывал ранее, для запуска третьей стороны .exe внутри моей winform

код, который мне дали, был

через мистера Грега Янга

 public class Native {
        [DllImport("user32.dll", SetLastError = true)]
        private static extern uint SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
        public static void LoadProcessInControl(string _Process, Control _Control)
        {
            System.Diagnostics.Process p = System.Diagnostics.Process.Start(_Process);
            p.WaitForInputIdle();
            Native.SetParent(p.MainWindowHandle, _Control.Handle);
        }
    }

где это будет исполнение

public partial class Form1 : Form {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            LoadProcessInControl("notepad.exe", this.splitContainer1.Panel1);
            LoadProcessInControl("notepad.exe", this.splitContainer1.Panel2);
        }
    }

Однако я продолжаю получать сообщение об ошибке:

The name 'LoadProcessInControl' does not exist in the current context

Объем занятий по-прежнему является слабым местом в моих знаниях по программированию, и я надеюсь понять его немного лучше.

Я пытался переключить класс в открытый и удалить статический метод (загрузить procincontrol), но я никуда не попал)

Спасибо за вашу помощь

1 Ответ

3 голосов
/ 03 декабря 2009

В функции Form1_Load () попробуйте обратиться к Native.LoadProcessInControl () вместо просто LoadProcessInControl ().

...