On Tue, Sep 30, 2014 at 8:01 PM, Ken Schaefer <[email protected]> wrote:

>  Is “Courier Regular” an actual font installed on your machine?
>

I looked in the "Fonts" section of Control Panel on this Win 2012 machine,
and  that was the name of one of them, yes ...


>
> Maybe use a FontDialog control to select from a list of installed fonts?
>
>
> http://msdn.microsoft.com/en-us/library/system.windows.forms.control.font(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
>

I will take a look, thanks.


>
>
>
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Michael Leone
> *Sent:* Wednesday, 1 October 2014 6:33 AM
> *To:* [email protected]
> *Cc:* [email protected]
> *Subject:* [NTSysADM] Formatting a ListBox
>
>
>
> I am not a .Net programmer. But I came across a script online that I find
> useful, and now I am trying to modify it a bit. What the script does is put
> a listbox on a form; the listbox is populated with an entry I am trying to
> construct (by which I mean - I am concatenating 3 string variables
> together, and adding that as the list entry.
>
> Here's the problem: The onscreen formatting needs to be a fixed width, and
> what I am ending up with looks like this:
>
> [image: Inline image 1]
>
>
>
> See how it's wandering? I want a fixed font onscreen, and I can't seem to
> figure out how to get it to do that. I am padding the individual components
> to the widths I want, but it still shows onscreen like that.
>
>
>
> Here's the code snippets:
>
>
>
> $FormWidth     = 300          # 300
>
> $FormHeight    = 500          # 320
>
>
>
> $objForm = New-Object System.Windows.Forms.Form
>
> $objForm.Text = "Select user(s)"
>
> $objForm.Size = New-Object System.Drawing.Size($FormWidth,$FormHeight)
>
> $objForm.StartPosition = "CenterScreen"
>
>
>
> ## ----- Make the ListBox -----
>
> $objListBox = New-Object System.Windows.Forms.ListBox
>
> $objListBox.Name = "List of RDS Users"
>
> $ListBoxLocationWidth    = $FormWidth * 0.03
>
> $ListBoxLocationHeight   = $FormHeight * 0.09
>
> $objListBox.Location     = New-Object
> System.Drawing.Size($ListBoxLocationWidth,$ListBoxLocationHeight)
>
> $ListBoxSizeWidth   = $FormWidth * 0.93
>
> $ListBoxSizeHeight  = $FormHeight * 0.05
>
> $objListBox.Size    = New-Object
> System.Drawing.Size($ListBoxSizeWidth,$ListBoxSizeHeight)
>
> $objListBox.Height = $FormHeight * 0.41
>
> $objListBox.ScrollAlwaysVisible    = $true
>
> $objListBox.Font    = "Courier Regular"
>
> $objListBox.SelectionMode = "MultiExtended"
>
>
>
>
>
> Function FillListBox
>
> {
>
> $LoggedOnUsers = Get-RDUserSession -ConnectionBroker "$connectionBroker"
> -CollectionName "$SessionHostCollection" | Sort-Object -Property UserName
>
> ForEach ($user in $LoggedOnUsers)
>
> {
>
>   $RDS_User = "{0,-10}" -f $user.UserName.PadRight(10)
>
>   SWITCH ($user.SessionState)
>
>   {
>
>     "STATE_CONNECTED"    { $RDS_Status = "ACTIVE      "}
>
>     "STATE_DISCONNECTED" { $RDS_Status = "DISCONNECTED"}
>
>    }
>
>  $RDS_Server   = [string] $user.ServerName
>
>  $TheListEntry = $RDS_User + "| " + $RDS_Status + "; " +
>  $RDS_Server.SubString(0,10)
>
>  [void] $objListBox.Items.Add($TheListEntry)
>
> }
>
>
>
> I'm sure it's simple, but it's eluding my fried brain today.
>
> Clues, anyone?
>

Reply via email to