Я пытаюсь отформатировать список строк, чтобы отображать элементы в два столбца длиной 40 каждый. Для этого я использую следующую функцию:
Private Function GetNamesString(names As List(Of String)) As String
Dim str As String = String.Empty
For i = 0 To names.Count - 2 Step 2
str += $"{names(i),-40}{names(i + 1),-40}"
str += $"{vbCrLf}"
Next
Return str
End Function
Я создаю сообщение следующим образом:
Dim message As String = $"Removing master species {gbl.EditSpecies.Name} implies that next {names.Count} species must be also removed:{vbCrLf}{vbCrLf}"
message += GetNamesString(names)
message += $"{vbCrLf}{vbCrLf}Do you want to remove above species besides {gbl.EditSpecies.Name}?"
Получение следующей строки:
Removing master species Fe+3 implies that next 106 species must be also removed:
Beidellite_SBld-1(4.576H2O) Ca2Fe2O5(s)
CaFe2O4(s) C4FH13
C3FH6 Ettringite-Fe
Monosulfate-Fe Smectite_MX80(5.189H2O)
...
Наконец, я отображаю форму сообщения:
frmShowMessage.Show(message, "Remove species", enumMessageIcon.Warning, enumMessageButton.YesNo)
message
отображается непосредственно в тексте метки: lblMessageText.Text = message
(тип шрифта, используемый для текста метки - Arial).
Однако я получаю следующий результат:
Который не отображается в форматах столбцов, как я хочу. Знаете ли вы, почему я получаю неформатированную строку в форме сообщения?
Спасибо!