问题标签 [tabpage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将标签页聚焦于错误 (.NET)
我有一个 TabControl,每个 TabPage 中有几个 TabPages 和控件。我在实体框架上使用了一些数据绑定和验证。问题是,当标签上发生错误时,除可见的选项卡外,它不能看到。当托管在其中的某个控件上发生错误时,有没有办法使 TabPage 被选中?(我不知道 TabPage 的索引)
c# - 多选项卡应用程序 (C#)
我正在创建一个多选项卡 .NET 应用程序,它允许用户在运行时动态添加和删除选项卡。添加新选项卡时,会向其中添加一个控件(作为子项),可以在其中编辑内容(例如,文本框)。用户可以使用工具栏/菜单栏在当前可见的文本框上执行任务。
为了更好地解释这一点,请查看下图以查看我想要完成的示例。这只是一个模型,所以它实际上并不能那样工作,但它显示了我想要完成的事情。本质上,就像一个多标签记事本。
在此处查看图片:http: //picasion.com/pic15/324b466729e42a74b9632c1473355d3b.gif
这在.NET中可能吗?我很确定它是,我只是在寻找一种可以实现它的方法。
c# - c# form / tabcontrol 在最大化时重绘的问题
我有一个带有 tabcontrol 的应用程序/表单。当我最大化我的应用程序时,我看到一个重绘错误——标签页右侧区域的空白部分没有正确绘制并显示其他奇怪的东西。(只是背景,标签页的控件还可以)
我认为它一定是某个地方的简单设置,但我无法弄清楚它是什么。任何提示将不胜感激!:)
编辑:这里的问题截图:http: //i48.tinypic.com/dm318p.png 关注右上角:)
c# - 标签页控制离开
我有一个标签控件和 3 个标签页。( C#)
如果我在选项卡 2 中,编辑文本框值,然后单击选项卡 3,我需要验证文本框中输入的内容。如果正确,我应该允许切换到选项卡 3,否则应该保留在选项卡 2 中,我该如何实现?
我目前正在处理 tabpage2 的“离开”事件,我验证那里的文本框值,如果发现无效,我设置为 tabcontrol.Selectedtab = tabpage2; 这会进行验证,但会切换到新标签!我怎么能限制导航。
我是 C# 的新手,所以我可能正在处理错误的事件!
以下是相关代码:
c# - 在运行时添加的 C# TabPages 不会自动调整父窗体的大小
我有一个简单的表单,其中包含一个 TabControl,其中在运行时添加了 TabPages。我已经让所有这一切几乎按照我的意愿工作,但是当我将表单设置为自动调整大小时,它会忽略计算中的运行时 TabPages ......我怎样才能强制表单延迟自动调整大小直到 TabPages 有已添加,或者在添加新 TabPage 时强制表单重新计算?
编辑:作为记录,我正在通过在 640x480 启动我的应用程序(使用 MinimumSize 属性)并包括一个 750 宽的控件来对此进行测试。
winforms - WinForms TabControl 验证:切换到验证失败的选项卡
我目前有一个TabControl
包含一些TabPage
s 的表单。每个TabPage
都有几个带有验证逻辑和适当ErrorProvider
s 的控件。在我的OK_Button_Clicked
活动中,我打电话Form.ValidateChildren()
以确定是否保存和关闭表单。现在,假设我在选项卡 1 中有一个未通过验证的控件,但当前可见的选项卡是选项卡 2。当用户按 OK 时,他不会得到关于表单未关闭原因的视觉指示。我希望能够自动切换到验证失败的选项卡,这样用户就会看到ErrorProvider
' 的错误指示。
一种方法是订阅所有适当控件的Validated
和validating
事件,并知道每个控件在哪个选项卡中,每当验证失败时,可以构建验证失败的选项卡列表。由于ValidationFailed
据我所知没有生成任何事件,这可能很麻烦(例如,为每个控件定义一个布尔值,在验证之前将其设置为 false 并将其Validated
事件设置为 true)。即使我有这样的事件,我也将被迫侦听许多验证事件,每个控件可能验证失败,并在代码中维护未验证选项卡的列表。我应该在这里指出,直接订阅TabPage
's 的验证事件是行不通的,因为即使其中包含的控件验证失败,它们也会作为验证通过。
TabPage
另一种方法可以利用我的控件恰好是自定义控件这一事实。然后我可以让他们实现一个接口,例如:
例如:
然后,在调用之后,ValidateChildren
我可以使用以下代码:
我更喜欢这种方法,但它不适合正在验证的控件不是自定义的情况。
我很乐意使用更好的方法。有任何想法吗?
编辑我正在使用Form.AutoValidate = EnableAllowFocusChange
(正如 Chris Sells 在他的 WinForms 书中所推荐的那样),因此焦点确实可以从验证失败的控件(包括移动到其他选项卡)中改变。我还更新了自定义控件的示例代码,以强调其ErrorProvider
内部驻留的事实。
c# - 如何修改已重新设置为 TabPage 的控件?
我有一个用户控件,其中包含一组控件,这些控件可用于在 UI 上呈现数据。我已经尝试实现一个“弹出”选项,它将从表单上的另一个容器(例如面板)重新设置控件的父级,创建一个新的选项卡页,然后将控件添加到选项卡页。
不幸的是,当控件被添加到 TabPage 时,它的大小似乎被锁定为它与最后一个父级一起呈现的方式。
我覆盖了 ParentChanged 事件以检测控件何时实际添加到 TabPage。如果我检查大小,尝试将大小设置为 TabPage 的 ClientRectangle,然后重新检查大小 - 它不会改变。设置 Dock 属性不会改变这种行为(尤其是 Fill)。
c# - 以编程方式更改标签顺序
如何以编程方式重新排序 a 中的选项卡TabControl
?我需要根据某些条件对选项卡进行排序。
如果可以通过设计器进行重新排序,我想我们也必须能够在运行时通过代码来完成。
c# - .NET WindowsForm - TabPage GotFocus 事件
此页面表明 TabPage 有一个 GotFocus 事件,但在 Visual Studio 2008 中,我在 TabPage 上看不到该选项(它说它是从控件继承的,即 TabControl)。
每次用户单击不同的选项卡时,我将使用什么事件来编写一些运行的代码?我会使用 TabControl 的 GotFocus - 但在这种情况下,当用户切换到不同的选项卡时,GotFocus 是否会再次触发(并将选项卡名称作为变量传递给我?)
c# - C# Winforms TabControl 元素读取为空,直到 TabPage 被选中
我有我用 C# 编写的 Winform 应用程序。在我的表单上,我有一个包含七页的 TabControl,每一页都充满了元素(主要是 TextBoxes 和 DropDownLists)。我使用 DataReader 提取一些信息,填充 DataTable,并使用元素的 DataBindings.Add 方法用当前值填充这些元素。
用户可以在这些元素中输入数据,按“保存”,然后我使用元素的文本字段设置更新查询的参数。例如:
我遇到的问题是,一旦我加载表单,所有元素显然都被认为是空的,直到我手动选择每个选项卡。因此,如果我在加载表单后立即按“保存”,我尚未选择的 TabPages 上的所有字段都会尝试使用空数据进行更新(不好)。当我选择每个 TabPage 时,这些元素现在将正确地发送它们的数据。目前,我已经制定了一个(非常)丑陋的解决方法,我在第一次填充数据时以编程方式选择每个 TabPage,但这是一个不可接受的长期解决方案。
我的问题是,如何在用户选择该 TabPage 之前让 TabPages 上的所有元素正确返回其数据?