Imports System
Imports System.Drawing
Public Class Test
Public Shared Sub Main()
Console.WriteLine("-- Horizontal --")
For Each Name As String In [Enum].GetNames(GetType(ContentAlignment))
Dim Value As Integer = [Enum].Parse(GetType(ContentAlignment), Name)
Dim ConvertedValue As Integer = ContentToStringAlignment(Value, False)
Console.WriteLine("{0,-14}{1,-8}: {2} {3}", Name, "(" & Value & ")", ConvertedValue, "(" & [Enum].GetName(GetType(StringAlignment), ConvertedValue) & ")")
Next
Console.WriteLine(Environment.NewLine & "-- Vertical --")
For Each Name As String In [Enum].GetNames(GetType(ContentAlignment))
Dim Value As Integer = [Enum].Parse(GetType(ContentAlignment), Name)
Dim ConvertedValue As Integer = ContentToStringAlignment(Value, True)
Console.WriteLine("{0,-14}{1,-8}: {2} {3}", Name, "(" & Value & ")", ConvertedValue, "(" & [Enum].GetName(GetType(StringAlignment), ConvertedValue) & ")")
Next
End Sub
Public Shared Function ContentToStringAlignment(ByVal Alignment As ContentAlignment, ByVal Vertical As Boolean) As StringAlignment
If Vertical = True Then Return CType(Math.Floor(Math.Log(CType(Alignment, Integer), 16)), StringAlignment)
Return CType(Math.Log(CType(Alignment, Integer) Mod 5, 2), StringAlignment)
End Function
End Class
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uRHJhd2luZwoKUHVibGljIENsYXNzIFRlc3QKICAgIFB1YmxpYyBTaGFyZWQgU3ViIE1haW4oKQogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCItLSBIb3Jpem9udGFsIC0tIikKICAgICAgICBGb3IgRWFjaCBOYW1lIEFzIFN0cmluZyBJbiBbRW51bV0uR2V0TmFtZXMoR2V0VHlwZShDb250ZW50QWxpZ25tZW50KSkKICAgICAgICAgICAgRGltIFZhbHVlIEFzIEludGVnZXIgPSBbRW51bV0uUGFyc2UoR2V0VHlwZShDb250ZW50QWxpZ25tZW50KSwgTmFtZSkKICAgICAgICAgICAgRGltIENvbnZlcnRlZFZhbHVlIEFzIEludGVnZXIgPSBDb250ZW50VG9TdHJpbmdBbGlnbm1lbnQoVmFsdWUsIEZhbHNlKQogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiezAsLTE0fXsxLC04fTogezJ9IHszfSIsIE5hbWUsICIoIiAmIFZhbHVlICYgIikiLCBDb252ZXJ0ZWRWYWx1ZSwgIigiICYgW0VudW1dLkdldE5hbWUoR2V0VHlwZShTdHJpbmdBbGlnbm1lbnQpLCBDb252ZXJ0ZWRWYWx1ZSkgJiAiKSIpCiAgICAgICAgTmV4dAoKICAgICAgICBDb25zb2xlLldyaXRlTGluZShFbnZpcm9ubWVudC5OZXdMaW5lICYgIi0tIFZlcnRpY2FsIC0tIikKICAgICAgICBGb3IgRWFjaCBOYW1lIEFzIFN0cmluZyBJbiBbRW51bV0uR2V0TmFtZXMoR2V0VHlwZShDb250ZW50QWxpZ25tZW50KSkKICAgICAgICAgICAgRGltIFZhbHVlIEFzIEludGVnZXIgPSBbRW51bV0uUGFyc2UoR2V0VHlwZShDb250ZW50QWxpZ25tZW50KSwgTmFtZSkKICAgICAgICAgICAgRGltIENvbnZlcnRlZFZhbHVlIEFzIEludGVnZXIgPSBDb250ZW50VG9TdHJpbmdBbGlnbm1lbnQoVmFsdWUsIFRydWUpCiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ7MCwtMTR9ezEsLTh9OiB7Mn0gezN9IiwgTmFtZSwgIigiICYgVmFsdWUgJiAiKSIsIENvbnZlcnRlZFZhbHVlLCAiKCIgJiBbRW51bV0uR2V0TmFtZShHZXRUeXBlKFN0cmluZ0FsaWdubWVudCksIENvbnZlcnRlZFZhbHVlKSAmICIpIikKICAgICAgICBOZXh0CiAgICBFbmQgU3ViCiAgICAKICAgIFB1YmxpYyBTaGFyZWQgRnVuY3Rpb24gQ29udGVudFRvU3RyaW5nQWxpZ25tZW50KEJ5VmFsIEFsaWdubWVudCBBcyBDb250ZW50QWxpZ25tZW50LCBCeVZhbCBWZXJ0aWNhbCBBcyBCb29sZWFuKSBBcyBTdHJpbmdBbGlnbm1lbnQKICAgICAgICBJZiBWZXJ0aWNhbCA9IFRydWUgVGhlbiBSZXR1cm4gQ1R5cGUoTWF0aC5GbG9vcihNYXRoLkxvZyhDVHlwZShBbGlnbm1lbnQsIEludGVnZXIpLCAxNikpLCBTdHJpbmdBbGlnbm1lbnQpCiAgICAgICAgUmV0dXJuIENUeXBlKE1hdGguTG9nKENUeXBlKEFsaWdubWVudCwgSW50ZWdlcikgTW9kIDUsIDIpLCBTdHJpbmdBbGlnbm1lbnQpCiAgICBFbmQgRnVuY3Rpb24KRW5kIENsYXNz