无法将 tabPage 图像设置为 tabControl C#

Cannot set tabPage image to a tabControl C#

我有一个 ImageList,有一个项目,在 TabControl:

private System.Windows.Forms.ImageList tabControlMain_ilMain;
this.TabControlMain.ImageList = this.tabControlMain_ilMain;

this.tabControlMain_ilMain.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("tabControlMain_ilMain.ImageStream")));
this.tabControlMain_ilMain.TransparentColor = System.Drawing.Color.Silver;
this.tabControlMain_ilMain.Images.SetKeyName(0, "");   

并且我将此图像设置为特定 TabPage:

this.tabControlMain_tp17.ImageIndex = 0;

而且我可以在设计器中看到附加到 TabPage 的图像,但是当我在 运行 应用程序时,我看不到图像,它只是一个空的 space 在 TabPage 名字附​​近。

有谁知道可能是什么问题?

谢谢!

P.S。我看到的是,如果我不选择 ImageIndexTabPage header 的长度会变短,所以我猜图像正在使用 space,但是在运行时看不到它。

所以我做的和你想的没什么不同。但是我的工作正常。
也许删除并重新添加控件。

private void InitializeComponent()
{
  this.components = new System.ComponentModel.Container();
  System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
  this.TabControlMain = new System.Windows.Forms.TabControl();
  this.tabControlMain_tp17 = new System.Windows.Forms.TabPage();
  this.tabControlMain_ilMain = new System.Windows.Forms.ImageList(this.components);
  this.TabControlMain.SuspendLayout();
  this.SuspendLayout();
  // 
  // TabControlMain
  // 
  this.TabControlMain.Controls.Add(this.tabControlMain_tp17);
  this.TabControlMain.ImageList = this.tabControlMain_ilMain;
  this.TabControlMain.Location = new System.Drawing.Point(44, 42);
  this.TabControlMain.Size = new System.Drawing.Size(192, 191);
  // 
  // tabControlMain_tp17
  // 
  this.tabControlMain_tp17.ImageIndex = 0;
  this.tabControlMain_tp17.Location = new System.Drawing.Point(4, 23);
  this.tabControlMain_tp17.Text = "tabControlMain_tp17";
  // 
  // tabControlMain_ilMain
  // 
  this.tabControlMain_ilMain.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("tabControlMain_ilMain.ImageStream")));
  this.tabControlMain_ilMain.TransparentColor = System.Drawing.Color.Transparent;
  this.tabControlMain_ilMain.Images.SetKeyName(0, "");
  // 
  // Form1
  // 
  this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
  this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  this.ClientSize = new System.Drawing.Size(284, 261);
  this.Controls.Add(this.TabControlMain);
  this.TabControlMain.ResumeLayout(false);
  this.ResumeLayout(false);

}

private System.Windows.Forms.TabControl TabControlMain;
private System.Windows.Forms.TabPage tabControlMain_tp17;
private System.Windows.Forms.ImageList tabControlMain_ilMain;