我正在创建一些更复杂的控件,其中包含已经定义的控件,以便在我正在使用的应用程序中使用。
我有一个ListView控件的问题,我尝试“绘制”一个表(View = Details)。我为ListView和几行添加了列标题。从我的自定义活动设计器中可以看到标题和行,但是当我在Windows窗体上添加自定义控件时,我无法在设计器上看到它们,也无法在执行应用程序时看到它们。自定义活动还包含其他预定义的控件:ListBox,TextBox等,它们正确显示,但ListView不是,我找不到任何合理的解释。我也做了一些调试,发现项目在那里,但只是没有在表单中显示。
有人知道如何解决这个问题吗? :)
答案 0 :(得分:0)
调用BringToFront();列表视图的方法
或在设计时从contextmenu执行此操作(右键单击控件并选择这些项目)
或将代码中的列表视图的顶部和左侧设置为可见区域
答案 1 :(得分:0)
谢谢你,试图帮助我。
我以不是很优雅的方式来解决这个问题,但是它有效。如果有人需要类似问题的帮助,我会添加我的解决方案。
我不知道是否可以从我的问题中理解,但我从设计师创建了自定义控件。如果在自定义控件上添加ListView,则生成Designer文件似乎存在一个小错误。由于某种原因,设计器中添加的列未添加到* .Designer文件中,我手动添加它们并且问题已解决。在这种情况下应该添加的代码行是这样的:
this.myListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.myColumnHeader1,
this.myColumnHeader2,
this.myColumnHeader3});
//
// myColumnHeader1
//
this.myColumnHeader1.Text = "My Column Header1";
this.myColumnHeader1.Width = 100;
//
// myColumnHeader2
//
this.myColumnHeader2.Text = "My Column Header 2";
this.myColumnHeader2.Width = 100;
//
// myColumnHeader3
//
this.myColumnHeader3.Text = "My Column Header 3";
this.myColumnHeader3.Width = 100;
我还必须注意,只有在自定义控件上通过设计器添加ListView时才能观察到此问题,如果直接在Windows窗体上添加,* .Designer文件将保存为Ok。