Dut*_*432 3 c# event-handling winforms form-load
自从我涉足C#以来,已经有很长一段时间了,但是我有一段时间让我的form_load开火了.这是最简单的事我无法想象它为什么不会开火!任何援助将不胜感激.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace AppName_v4._0___TestRoom_Addon{
public partial class Form1 : Form{
public Form1() {
InitializeComponent();
this.Load += new EventHandler(this.Form1_Load); //FIRES!
}
private void Form1_Load(object sender, EventArgs e) {
webKitBrowser1.Dock = DockStyle.Fill; //DOES NOT FIRE!
webKitBrowser1.Navigate("http://192.168.0.10/?zoneid=11");
}
}
}
Run Code Online (Sandbox Code Playgroud)
UPDATE

我也试过以下但没有成功......
namespace AlphaEntry_v4._0___MailRoom_Addon{
public partial class Form1 : Form{
public Form1() {
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
webKitBrowser1.Dock = DockStyle.Fill;
webKitBrowser1.Navigate("http://192.168.0.10/?zoneid=11");
base.OnLoad(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新#2我能够通过删除和重新添加对WebKit Control的引用来实现此功能.不确定发生了什么.感谢大家.
我刚刚解决了同样的问题.根本原因应该是在加载Form1时未触发Form1_Load事件.只需在Designer视图中打开Form1,单击Form1的标题,单击Form1属性下的'Event'标签,在属性列表中找到'Load',您将在其右侧找到一个事件列表.选择"Form1_Load",重建它.您可以通过选择Form1_Load以外的任何事件来验证是否调用Form1_Load().
解决方法:
在后面直接插入代码InitializeComponent();。
调用之后,将初始化表单的私有字段,并且您可以与UI对象进行交互。
我知道这不能直接回答问题,但是在大多数情况下应该可以解决。
Mic*_*el 5
我来这里是为了完全相同的问题。我一看到更新:
我可以通过删除并重新添加对 WebKit 控件的引用来实现此目的。不知道发生了什么。感谢大家。
我意识到我的情况出了什么问题。和 Scott 一样,我有一段时间没有写过任何 c# 了,并且忘记了一个关键细节。
我想要一些简单的示例代码来检查 listview 是否按照我需要的方式工作。最好的文档是工作代码,因此我从https://www.dotnetperls.com/listview复制了一个示例。启动 VS2010 并将代码粘贴到 Visual Studio 为我生成的表单程序中。运行它并得到与 Scott 完全相同的结果 - 带有空白列表的空白表格。
原因是在 Visual Studio 中,当您将控件添加到表单时,您不会自动获取所有事件处理程序 - form_load 是缺少的处理程序之一。您获得了绘制控件的代码,仅此而已。要告诉 Windows 您有表单加载事件的处理程序,您必须添加
this.Load += new System.EventHandler(this.Form1_Load);
到表单的InitializeComponent 中的代码。当我将控件添加到表单时,该行丢失了,因此我的处理程序没有被调用。
您可以手动添加该行,也可以进入 Visual Studio 中的设计窗口并单击表单的空白部分。您将看到自动生成的新空存根,如下所示:
私人无效Form1_Load_1(对象发送者,EventArgs e)
{
}
名称中添加了下划线-1,因为我已经有了无法正常工作的 Form1_Load 例程。
如果您随后检查 form1.designer.cs 代码,您将看到 this.load += .... 行已添加到初始化代码中。
有时简单的示例代码并不那么简单。
| 归档时间: |
|
| 查看次数: |
19915 次 |
| 最近记录: |