#c# #vb.net #windows #flowlayoutpanel #text-size
#c# #vb.net #Windows #flowlayoutpanel #размер текста
Вопрос:
Это, наверное, самая крутая и раздражающая ошибка, с которой я когда-либо сталкивался.
У меня есть панель компоновки потока с listview внутри нее.
ListView имеет размер 500, FlowLayoutPanel имеет размер 800
Когда пользователь нажимает кнопку, создается новый элемент управления размером 400
размер панели FlowLayoutPanel увеличивается до 900
Размер ListView уменьшается до размера панели flowlayoutpanel (900) — новый элемент управления (400) минус 20 (запас)
Элемент управления добавляется в панель FlowLayoutPanel
Проблема в том, что когда у пользователя в настройках Windows для размера шрифта установлено значение Medium вместо amsller, математика запутывается и блокирует элемент управления note за listview.
Кто-нибудь еще сталкивался с этой проблемой?
Dim noteControl As New AddNote(CurrentEventID, "Followup", False, ConnectionID)
noteControl.Size = New Size(500, flpMain.Height - 2)
noteControl.cmbNoteType.Visible = False
noteControl.Anchor = AnchorStyles.Right
ListView1.Size = New Size(flpMain.Size.Width - noteControl.Size.Width - 45, ListView1.Size.Height)
flpMain.Controls.Add(noteControl)
flpMain.Width = Me.Width - 10
For Each mycontrol As Control In flpMain.Controls
If mycontrol.Name.ToString = "AddNote" Then
y = CType(mycontrol, AddNote)
mycontrol = y
ListView1.Width = flpMain.Width - y.Width - 45
End If
Next
If flpMain.Controls.Count = 1 Then
ListView1.Width = flpMain.Width - 10
End If
Dim columns As Integer = ListView1.Columns.Count
ListView1.Columns(columns - 1).Width = ListView1.Width
For index = 0 To columns - 2
ListView1.Columns(columns - 1).Width = ListView1.Columns(columns - 1).Width - ListView1.Columns(index).Width
Next
Комментарии:
1. Какой размер имеет что? Какие элементы управления вы создаете? Какие-либо якоря установлены?
2. я понятия не имею, как это произошло, я ввел значения, одну секунду я отредактирую.
3. Какой тип элемента управления вы создаете? Вы должны опубликовать код, который вы описываете..
4. это новая пользовательская форма управления. Проблема не в коде. Проблема в том, что когда для системного параметра установлено значение «мелкий шрифт», он создается идеально, когда для системного параметра установлено значение «средний шрифт», он создает второй элемент управления большим и помещает его за элемент управления listview
5. Некоторые элементы управления, такие как ListBox, имеют свойство IntegralHeight, эффект которого зависит от размера шрифта элемента управления; есть ли это у вашей таинственной «пользовательской формы управления»? Это всегда код, и видеть его (соответствующие части) лучше, чем рассказывать об этом..