1

我有一个屏幕截图应用程序,用户可以在其中传递命令行参数,并根据这些参数确定表单的行为。

我试图在表单加载后截取屏幕截图,但是我有功能在InitializeComponent();. 像这样——

if (counts > 0)
        {
            generateScreenshotButton_Click(null, null);

            button2_Click(null, null);
        }

我的问题是这些函数在表单加载之前触发。因此屏幕截图是空白的。我该如何解决这个问题?

4

2 回答 2

1

您是否尝试过使用 MainFormLoaded事件?
在那个事件处理程序中做你的事情吗?:)

或者也许使用Shown事件?

于 2012-08-21T09:19:43.260 回答
1

在您的文件中添加Load事件。Form.cs

InitializeComponent和之间有区别Form Load。请参阅InitializeComponent() 做什么,以及它在 WPF 中如何工作?它适用于 WPF,但在 Windows 窗体中相同。

试试这个代码:

public Form1()
        {
            InitializeComponent(); //this is the InitializeComponent method. this This method locates a URI to the XAML for the Window/UserControl that is loading, and passes it to the System.Windows.Application.LoadComponent() static method. 
            this.Load += new EventHandler(Form1_Load); //this create Load Form event
        }

        void Form1_Load(object sender, EventArgs e) //after your form is completely loaded, your program will run the code from here...
        {
            //your code goes here
        }

希望我对你有所帮助。

于 2012-08-21T09:22:48.690 回答