user57029
user57029

Reputation: 73

C# combobox does not display correctly inside splitcontainer

I have a form with a splitcontainer. One of the panels in the splitcontainer then loads a user control. This user control contains a combobox with the following properties changed from default:

  1. DrowdownStyle=DrowDownList
  2. FlatSyle=flat
  3. Anchor=top,left,right

When the form and user control load, the combobox looks as expected:

However, if I resize the splitcontrol, it starts looking weird. If I increase the size of the panel that holds the control, this happens:

enter image description here

If i decrease the size of the splitter, it looks less weird, but still not how it is supposed to:

enter image description here

In either case, the combobox starts looking normal once I mouse over it.

Here is my code:

Main Form:

//Main form. Has a split container created from the toolbox
public partial class SampleForm:Form
{
    public SampleForm()
    {
        InitializeComponent();
        SampleControl cntrl = new SampleControl();
        splitContainer1.Panel1.Controls.Add(cntrl);
        splitContainer1.BorderStyle = BorderStyle.FixedSingle;
        cntrl.Dock = DockStyle.Fill;
    }
}

User Control:

//User control. Has a combobox created from toolbox. Options as described    above
public partial class SampleControl : UserControl
{
    public SampleControl()
    {
        InitializeComponent();
    }
}

How can I fix this problem?

Upvotes: 0

Views: 217

Answers (2)

stigzler
stigzler

Reputation: 993

I know this is old, but was having the same problem and just in case someone finds themselves in the same predicament, answer below. Basically, create a new Class:

Imports System.Windows.Forms

Public Class MyComboBox
    Inherits ComboBox

    Protected Overrides Sub OnResize(e As EventArgs)
        Me.Refresh()
    End Sub

End Class

You can either drag this from your toolbox or add it in code. It will then auto redraw itself on resize of any parent controls.

Winforms is a bit like a sibling - flawed and deeply annoying sometimes - but you just gotta love it.

Upvotes: 0

Praveen M
Praveen M

Reputation: 453

May be try to set dock to None . Also try to fix the margin for control

Upvotes: 0

Related Questions