Как написано в документации , способ программной проверки формы программно - вызывать validator.form ()
var validator = $( "#myform" ).validate();
validator.form();
То, что вам действительно не хватает, это установка свойства «Имя» для переменной TabPage. Строка, которую вы передаете в конструктор TabPage, устанавливает значение свойства TabPage.Text.
Просто добавьте следующий код после создания экземпляра TabPage, и вы должны быть в порядке:
TabPage tmpTabPage = new TabPage("Test");
tmpTabPage.Name = "Test"
// Rest of your code here
Причина, по которой вы получаете исключение NullReferenceException, состоит в том, что следующий код:
tabControl1.TabPages["Test"]
не возвращает ссылку на TabPage, поскольку свойство «Name» TabPage не было установлено.
Попробуйте это, добавив tmpRichTextBox в tmpTabPage, а затем добавив tmpTabPage в tabControl1
TabPage tmpTabPage = new TabPage("Test");
CustomRichTextBox tmpRichTextBox = new CustomRichTextBox();
tmpRichTextBox.LoadFile(@"F:\aaData\IPACostData\R14TData\ACT0\1CALAEOSAudit_log.rtxt");
// Attempted FIX.
tmpTabPage.SuspendLayout();
tmpTabPage.Controls.Add(tmpRichTextBox); // This throws a NullReferenceException??
tmpTabPage.ResumeLayout();
tmpRichTextBox.Parent = tmpTabPage;
tmpRichTextBox.WordWrap = tmpRichTextBox.DetectUrls = false;
tmpRichTextBox.Font = new Font("Consolas", 7.8f);
tmpRichTextBox.Dock = DockStyle.Fill;
tmpRichTextBox.BringToFront();
//tmpTabPage.Controls.Add(tmpRichTextBox);
tabControl1.TabPages.Add(tmpTabPage);