草庐IT

报表控件

全部标签

c# - 如何确定控件的可见性?

我有一个TabControl包含几个选项卡。每个选项卡都有一个UserControl在上面。我想检查控件的可见性x在UserControlA来自UserControlB.我认为这样做x.Visible来自UserControlB就足够了。事实证明,它显示的是false在调试器中,即使我将其明确设置为true而且它从未改变过。然后我在MSDN上阅读了Control.Visible那:EvenifVisibleissettotrue,thecontrolmightnotbevisibletotheuserifitisobscuredbehindothercontrols.令我惊讶的是,这行

c# - 如何确定用户控件何时完全加载并显示?

stackoverflow上已经有几个类似的问题了,但是我还没找到答案我有一个包含多个标签页的应用程序。在其中一个上,我一次加载了几十个用户控件的列表。目前我正在Load事件中执行此操作,因此在加载此页面之前我有一个小延迟。我想做的是让UI更具响应性,并在页面完全加载后填充列表。有什么方法可以跟踪用户控件何时完全加载其内容?VisibleChanged也无济于事,因为它在显示任何其他子控件之前触发。当我开始加载控件列表时某些子控件仍然不可见时,这会导致一些难看的视觉效果。编辑为了更清楚。我在页面容器上有一些子控件,我有一个自定义控件列表,我稍后会尝试加载。下面几个答案中描述的两种方法的

c# - 从 ASP.net 中的用户控件访问页面上的文本框

我有一些页面略有不同,但都具有相同的“操作按钮”,可以为每个页面执行相同的任务。我没有复制代码,而是制作了一个用户控件,其中包含执行操作的按钮-但有一个操作我似乎无法执行。每个页面都有一个文本框(不在用户控件内,因为它位于页面的不同位置)。当我单击“保存评论”按钮(位于用户控件内)时,我似乎无法访问文本框中的文本。我试过用这样的东西:TextBoxtxtComments=(TextBox)this.Parent.FindControl("txtComments");SaveChanges(txtComments.Text);...但是txtComments返回为空。所以,我想知道这是否

c# - 如何阻止 WPF KeyDown 事件从某些包含的控件(例如 TextBox)中冒出?

我的程序非常大,并且使用WPF,我想要一个使用“R”且没有修饰符的全局快捷键。有许多控件,如TextBox、ListBox、ComboBox等,它们都在控件本身内部使用字母,这很好-这对我来说是正确的。但是-我想阻止KeyDown事件冒泡到主窗口,例如,只要用户在文本框中键入字母“R”,它就会触发快捷方式。理想情况下,我希望能够做到这一点而不必指定(并执行if-then逻辑)每个可能接收正常字母按键的控件实例/类型(不仅仅是TextBox控件,尽管它们是最糟糕的违规者). 最佳答案 只需检查Window上的KeyDown事件处理程序

c# - ASP.NET 用户控件 : Page_Load fires before property is set

这让我发疯。我有一个非常简单的用户控件:publicint?ImageId{set;get;}protectedvoidPage_Load(objectsender,EventArgse){...dosomethingwithImageId...}然后我将此控件放在UpdatePanel中带有ListView的页面上:'ID="cipPreview"runat="server"/>问题是Page_Load在ASP.NET设置ImageId之前触发。在调试器的帮助下,我发现由于某种原因,MyControl中的ImageId已设置,但它仅在Page_Load完成处理后才会发生。怎么了?

c# - 在多个窗口中使用 WPF WebBrowser 控件时发生内存泄漏

我正在开发一个使用WPFWebBrowser控件(System.Windows.Controls.WebBrowser)的项目。该程序的Web浏览器元素是用户可以参与的众多事件之一,并在单独的窗口中打开。用户离开浏览器后,窗口关闭,每次用户返回浏览器时都会创建一个新窗口。我们注意到在持续使用浏览器时,我们的程序出现了显着的内存泄漏/性能下降(使用量从最初的~200mb上升到~700mb)。在我们自己的代码中未能找到任何资源泄漏点之后,我决定确定问题是出在我们自己的WebBrowser包装器控件上,还是出在WPF控件上。我创建了一个新的简单项目,其中仅包含一个MainWindow和一个W

c# - 在 UpdatePanel 上为动态添加的控件动态添加触发器

我正在将数组按钮动态添加到位于更新面板中的简单面板,现在我想在这些按钮的单击事件上为UpdatePanel添加触发器。我的代码如下:protectedvoidAddButtons(){Button[]btn=newButton[a];for(intq=0;q现在,当我点击这些按钮中的任何一个时,不会触发点击事件,并且按钮会被删除。请注意,这些按钮在Page_Init()方法中不可用。 最佳答案 您需要将UniqueID而不是ID分配给AsyncPostBackTrigger.ControlID属性。尝试使用以下代码:AsyncPos

C# WinForms numericUpDown 控件(移除旋转框)

经过大量谷歌搜索,我什么都想不出来..有没有办法得到一个没有旋转框的numericUpDown控件?我需要一个只接受整数的文本框,而numericUpDown具有我正在寻找的完美行为。但是,由于空间限制,我需要隐藏数字旋转框。当我尝试执行诸如numericUpDown.Controls[0].Hide()或numericUpDown.Controls.RemoveAt(0)之类的操作时,旋转框消失了,但在旋转框曾经所在的位置留下了无法使用的空隙。因此,数字会在该点滚动,这意味着空间被浪费了。还有其他解决办法吗?谢谢.. 最佳答案 您

c# - 当用户选择一条记录时,推荐使用哪种方式来填充 Web 表单上的所有控件?

我有一个显示所有员工列表的GridView控件。当用户从此列表中选择任何员工时,记录将显示在Web表单上,所有输入控件都预先填充了值。我想知道执行此操作的任何好方法。我应该将所有输入控件绑定(bind)到任何SqlDataSource还是应该通过从DataSet中选取值来重新填充所有输入控件。 最佳答案 首先在GridView上添加选择按钮:然后在GridView上添加OnRowCommand="RowCommand"属性,以便在单击按钮时调用此函数以及函数背后的代码:protectedvoidRowCommand(objectse

c# - 如何访问 winforms 设计器中的继承控件

我正在制作一些控件,它们必须具有相同的外观和一些共同的行为,尽管它们适用于不同类型的输入。所以我创建了一个继承自UserControl的BaseClass,我所有的控件都继承自BaseClass。但是,如果我在设计器中为BaseClass添加控件,例如TableLayoutPanel,则在设计继承类时无法访问它们。我看到了TableLayoutPanel,但即使他受到“保护”,我也无法修改它或通过设计器将控件放入其中。我可以通过代码访问它,但我不想失去使用设计器的能力。现在,我只是从BaseClass中删除了所有控件,在每个继承类中添加了布局和所有公共(public)控件,然后使用引用