Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions src/System.Windows.Forms/src/System/Windows/Forms/Control.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3271,11 +3271,9 @@ private Control ReflectParent
value.AddReflectChild();
}

Control existing = _reflectParent as Control;
_reflectParent = value;
if (ReflectParent is Control c)
{
c.RemoveReflectChild();
}
existing?.RemoveReflectChild();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ public enum MainFormControlsTabOrder
MdiParent,
PropertyGrid,
ListView,
FontNameEditor
FontNameEditor,
CollectionEditors,
RichTextBoxes
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ public void WinformsControlsTest_CalendarTest()
}

[Fact]
public void WinformsControlsTest_TreeViewAndImageListTest()
public void WinformsControlsTest_MultipleControlsTest()
{
var process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, 2);
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.MultipleControls);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -80,10 +80,10 @@ public void WinformsControlsTest_TreeViewAndImageListTest()
}

[Fact]
public void WinformsControlsTest_ContentAlignmentTest()
public void WinformsControlsTest_ComboBoxesTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ContentAlignment);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ComboBoxes);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -95,10 +95,10 @@ public void WinformsControlsTest_ContentAlignmentTest()
}

[Fact]
public void WinformsControlsTest_MultipleControlsTest()
public void WinformsControlsTest_DateTimePickerTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.MultipleControls);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.DateTimePickerButton);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -109,11 +109,16 @@ public void WinformsControlsTest_MultipleControlsTest()
Assert.True(process.HasExited);
}

// FolderBrower

[Fact]
public void WinformsControlsTest_DataGridViewTest()
public void WinformsControlsTest_ThreadExceptionDialogTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.DataGridView);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ThreadExceptionDialog);
TestHelpers.PressEnterOnProcess(process);

TestHelpers.PressTabsOnProcess(process, 2);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -125,10 +130,10 @@ public void WinformsControlsTest_DataGridViewTest()
}

[Fact]
public void WinformsControlsTest_MenusTest()
public void WinformsControlsTest_DataGridViewTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Menus);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.DataGridView);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -140,10 +145,10 @@ public void WinformsControlsTest_MenusTest()
}

[Fact]
public void WinformsControlsTest_PanelsTest()
public void WinformsControlsTest_TreeViewAndImageListTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Panels);
var process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, 2);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -155,10 +160,10 @@ public void WinformsControlsTest_PanelsTest()
}

[Fact]
public void WinformsControlsTest_SplitterTest()
public void WinformsControlsTest_ContentAlignmentTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Splitter);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ContentAlignment);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -170,10 +175,10 @@ public void WinformsControlsTest_SplitterTest()
}

[Fact]
public void WinformsControlsTest_ComboBoxesTest()
public void WinformsControlsTest_MenusTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ComboBoxes);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Menus);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -185,10 +190,10 @@ public void WinformsControlsTest_ComboBoxesTest()
}

[Fact]
public void WinformsControlsTest_MDIParentTest()
public void WinformsControlsTest_PanelsTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.MdiParent);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Panels);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -200,10 +205,10 @@ public void WinformsControlsTest_MDIParentTest()
}

[Fact]
public void WinformsControlsTest_PropertyGridTest()
public void WinformsControlsTest_SplitterTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.PropertyGrid);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.Splitter);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -215,10 +220,10 @@ public void WinformsControlsTest_PropertyGridTest()
}

[Fact]
public void WinformsControlsTest_FontNameEditorTest()
public void WinformsControlsTest_MDIParentTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.FontNameEditor);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.MdiParent);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -230,18 +235,12 @@ public void WinformsControlsTest_FontNameEditorTest()
}

[Fact]
public void WinformsControlsTest_PropertyGrid_CollectionEditorTest()
public void WinformsControlsTest_PropertyGridTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.PropertyGrid);
TestHelpers.PressEnterOnProcess(process);

TestHelpers.PressTabOnProcess(process);
TestHelpers.PressRightOnProcess(process); // once
TestHelpers.PressRightOnProcess(process); // twice
TestHelpers.PressTabsOnProcess(process, 2);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);

process.Kill();
Expand All @@ -267,10 +266,10 @@ public void WinformsControlsTest_PropertyGrid_CollectionEditorTest()
// }

[Fact]
public void WinformsControlsTest_DateTimePickerTest()
public void WinformsControlsTest_FontNameEditorTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.DateTimePickerButton);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.FontNameEditor);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);
Expand All @@ -282,12 +281,15 @@ public void WinformsControlsTest_DateTimePickerTest()
}

[Fact]
public void WinformsControlsTest_ThreadExceptionDialogTest()
public void WinformsControlsTest_PropertyGrid_CollectionEditorTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.ThreadExceptionDialog);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.PropertyGrid);
TestHelpers.PressEnterOnProcess(process);

TestHelpers.PressTabOnProcess(process);
TestHelpers.PressRightOnProcess(process); // once
TestHelpers.PressRightOnProcess(process); // twice
TestHelpers.PressTabsOnProcess(process, 2);
TestHelpers.PressEnterOnProcess(process);

Expand All @@ -298,5 +300,20 @@ public void WinformsControlsTest_ThreadExceptionDialogTest()

Assert.True(process.HasExited);
}

[Fact]
public void WinformsControlsTest_RichTextBoxesTest()
{
Process process = TestHelpers.StartProcess(_exePath);
TestHelpers.PressTabsOnProcess(process, MainFormControlsTabOrder.RichTextBoxes);
TestHelpers.PressEnterOnProcess(process);

Assert.False(process.HasExited);

process.Kill();
process.WaitForExit();

Assert.True(process.HasExited);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@
<Link>PropertyGrid.Designer.cs</Link>
<DependentUpon>PropertyGrid.cs</DependentUpon>
</Compile>
<Compile Include="..\WinformsControlsTest\RichTextBoxes.cs">
<Link>RichTextBoxes.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\WinformsControlsTest\RichTextBoxes.Designer.cs">
<Link>RichTextBoxes.Designer.cs</Link>
<DependentUpon>RichTextBoxes.cs</DependentUpon>
</Compile>
<Compile Include="..\WinformsControlsTest\ScalingBeforeChanges.cs">
<Link>ScalingBeforeChanges.cs</Link>
<SubType>Form</SubType>
Expand Down Expand Up @@ -272,6 +280,10 @@
<Link>ListViewTest.resx</Link>
<DependentUpon>ListViewTest.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\WinformsControlsTest\MainForm.resx">
<Link>MainForm.resx</Link>
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\WinformsControlsTest\MdiChild.resx">
<Link>MdiChild.resx</Link>
<DependentUpon>MdiChild.cs</DependentUpon>
Expand Down Expand Up @@ -310,6 +322,10 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="..\WinformsControlsTest\Data\example.rtf">
<Link>Data\example.rtf</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ public partial class ComboBoxes : Form
public ComboBoxes()
{
InitializeComponent();
comboBox1.SelectedIndex = 0;
}

private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = comboBox1.Text;
}
}
}
Loading