即使选项卡控件中已经存在选项卡页,也会继续创建TabPage。请考虑我下面的代码:
void button1_Click(object sender, EventArgs e)
{
TabPage tabPage = new TabPage();
tabPage.Name = "TestNewTab";
tabPage.Text = "Tab Page";
// Check if the tabpage is not yet existing
if (!tabControl1.TabPages.Contains(tabP
在我的应用程序im向tabControls页面上的db提交数据(页面:tabPage2 2)中,当我点击submit按钮时,首先将数据保存到db(im实现这一点),那么问题会问什么呢?如果用户点击“否”按钮,tabpage2上的所有字段都将重置。所以我写了一个像下面这样的脚本,但是它没有清除字段。
if (dr == DialogResult.Yes)
{
for (int i = 0; i < this.tabControl1.Controls.Count; i++)
{
下面我演示了一个特殊的问题。
using System;
using System.Windows.Forms;
namespace WindowsApplication1
{
public class TestForm : Form
{
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
在我相对简单的项目中,我有一个两页的tabControl。tabPage2由动态创建的pictureBoxes (缩略图,pic_XXX)组成。tabPage2是固定大小的,启用了AutoScroll。
在tabPage1上,除其他外,我可以搜索给定的名称(pic_XXX)。当我切换到tabPage2时,我希望它被滚动,所以pic_XXX所在的行是可见的。在tabPage2中手动滚动正在工作。
我很难动态滚动tabPage2来完成这个任务。以下解决方案引发异常:
Dim pos As Point = tabPage2.Controls.Item("pic_" & img
我正在使用TabControl并将TabPages附加到TabControl,但在使其中一个TabPages响应事件时遇到问题。这让我觉得我遗漏了一些关于这些类之间关系的东西,所以我希望能得到一些帮助。我想将一些TabPage对象添加到TabControl中,并且对于其中一个(添加的第一个),我想向它发送一个事件,让它做一些事情。
下面是基本代码:
/* tabControl is a TabControl object, and
tabNames is a string array */
bool first = true;
foreach (string tabName in tabN
我试图从类中获取对象(在我的例子中是TabPage),但是类名被指定为字符串。下面我做了一个基本的例子来说明我想要得到的东西。我尝试过使用反射,可以得到PropertyInfo,但是如何获得实际的对象。
public Form1()
{
string TabName = "Car";
InitializeComponent();
/*
* Need the ability to get Class from string Name then get ConfigurationTab from that class
* PropertyInfo[]
我在一个WinForms应用程序中使用了一个MVP supervising模式。我有一个带有TabControl和一些TabPage的视图。我需要懒惰地加载每个标签页上选定的内容,因为在尝试填充整个视图时有一个明显的滞后。
我希望挂钩到TabPage.GotFocus事件中,并提供一个处理程序,用于处理何时选择了给定的选项卡,但这似乎不起作用。因此,我必须使用TabControl.SelectedIndexChanged事件和一个switch语句来使其正常工作。必须放入switch语句是一件非常痛苦的事情。有没有办法避免switch语句?
public partial class Form1
你好,我正试图在一个项目上工作,在这个项目中,应用程序打开.csv文件并从中读取数据,并在静态地图中显示不同的点。我还想添加一个选项,让用户在数据列表中添加纬度,经度等。仅当打开.csv文件时,才会显示应用程序中的列表视图。但是我在添加新的gps点到.csv文件时有困难。我的代码在这里
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
我在辅助TabPage上有一个TabPage,我希望在输入TabPage时更新网格中的数据,但我不希望处理RowEnter事件,除非用户实际单击了一行。似乎网格中的第一行是在TabPage.Enter事件触发后自动选择的,所以我很难抑制它。
下面是显示问题的代码。我已经在运行时创建了控件,所以您只需复制粘贴,但在实际程序中,我使用了设计器。
我希望看到的行为是,在选择TabPage2之后,DataGridView中充满了数据,但是TextBox1是空的,直到我单击一行。
Public Class Form1
Private WithEvents DataGridView1 As Data
我想在for循环中删除tabControle的TabPages,如下所示:
for (int i = 1; i < 7; i++)
{
var tabPage = "tabPage" + i;
tabControl.TabPages.Remove(tabPage); // converting error here
}
如何将字符串转换为TabPage对象?
thx