У меня есть основания с этикеткой & 2 кнопки, когда я наследовать его в виде ребенка, он получает только этикетку, но не кнопкиC вопрос # форма наследования
Я понятия не имею, почему он наследует один но не другой, не так ли?
, что я пытался сделать по этому поводу:
1- изменили элементы управления модификаторов в базовой форме к защищенному тогда общественность, до сих пор только ярлык получает в наследство
2- упаковали новый пустой тестовый проект с от с текстовым полем и кнопкой & ребенок формой наследования, он прекрасно работает т.е. появляется оба элемента управления в дочерней форме
3- назад к моему проекту, я удалил форму (родитель & ребенка) воссоздан основную форма с меткой и двумя кнопками по умолчанию (без настройки l шрифт, текст или размер), а затем создал дочернюю форму, наследующую его, вплоть до того, как он отлично работает, все элементы управления отображаются в дочерней форме. После того как я настроил элементы управления на родительском конструкторе, кнопки исчезли из дочернего элемента, остался только ярлык
образец код:
MainEdit форма конструкции файл автоматически генерируется VS2012
private System.Windows.Forms.Label editheader_lbl;
private System.Windows.Forms.Button cancel_btn;
private System.Windows.Forms.Button save_btn
private void InitializeComponent()
{
this.editheader_lbl = new System.Windows.Forms.Label();
this.cancel_btn = new System.Windows.Forms.Button();
this.save_btn = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// editheader_lbl
//
this.editheader_lbl.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.editheader_lbl.AutoSize = true;
this.editheader_lbl.Location = new System.Drawing.Point(164, 11);
this.editheader_lbl.Name = "editheader_lbl";
this.editheader_lbl.Size = new System.Drawing.Size(44, 13);
this.editheader_lbl.TabIndex = 7;
this.editheader_lbl.Text = "edit info";
this.editheader_lbl.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// cancel_btn
//
this.cancel_btn.Location = new System.Drawing.Point(321, 278);
this.cancel_btn.Name = "cancel_btn";
this.cancel_btn.Size = new System.Drawing.Size(75, 23);
this.cancel_btn.TabIndex = 9;
this.cancel_btn.Text = "cancel";
this.cancel_btn.UseVisualStyleBackColor = true;
//
// save_btn
//
this.save_btn.Location = new System.Drawing.Point(143, 278);
this.save_btn.Name = "save_btn";
this.save_btn.Size = new System.Drawing.Size(75, 23);
this.save_btn.TabIndex = 8;
this.save_btn.Text = "save";
this.save_btn.UseVisualStyleBackColor = true;
//
// MainEdit
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(533, 331);
this.ControlBox = false;
this.Controls.Add(this.cancel_btn);
this.Controls.Add(this.save_btn);
this.Controls.Add(this.editheader_lbl);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "MainEdit";
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.RightToLeftLayout = true;
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.TopMost = true;
this.ResumeLayout(false);
this.PerformLayout();
}
MainEdit.cs
public MainEdit()
{
InitializeComponent();
this.Text = string.Empty;
this.editheader_lbl.Font = Program.font_l;
this.save_btn.Font = Program.font_btn;
this.save_btn.Size = Program.btnSize;
this.save_btn.Text = Constants.SAVE;
this.cancel_btn.Font = Program.font_btn;
this.cancel_btn.Size = Program.btnSize;
this.cancel_btn.Text = Constants.CANCEL;
}
Edit_Employee.cs .. ребенок форма
public partial class Edit_Employee : MainEdit
{
public Edit_Employee()
{
InitializeComponent();
}
}
обновление
случайно, кнопка мыши была нажата в то время как я двигался, и это сделало область выбора на форме ребенка. есть 2 символа блокировки, где должны быть кнопки, я думаю, это означает, что кнопки есть, но я их просто не вижу! Я пойду попробовать предложения, которые я получил до сих пор, и держать вас в курсе, спасибо за всех, кто помог до сих пор
обновление -2
попытался добавить настройки один за другим, чтобы увидеть, что причиной этого вопрос, и это линия размера. хотя он принимает правильные размеры во время выполнения, во время разработки это похоже на то, что у ребенка было задано 0,0! Я получаю точки изменения размера рядом друг с другом на кнопке, в которой я применил размер в родительском элементе, тогда как другая кнопка отображается нормально.
до сих пор не вижу, где размер редактирования вызывает проблемы, но я думаю, этот вопрос решается @ Chiel92 надеюсь, что вы разместите свое предложение в качестве ответа, так что я могу принять его и закрыть эту нить
еще раз спасибо
Как это не наследуется? Вы имеете в виду, что кнопки не видны в дочерней форме? –
@ Chiel92 Да, этикетка попадает на дочернюю форму, но без кнопок. когда я изменил личный доступ по умолчанию на защищенный, я могу получить доступ к кнопкам через код, но все же они не отображаются в форме – Katia
Вы уверены, что расположение кнопок находится в пределах размера дочерних форм? –