topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • September 17, 2019, 03:46 PM
  • Proudly celebrating 13 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Basic Calculator  (Read 8354 times)

Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Basic Calculator
« on: September 05, 2015, 11:27 PM »
New computer, new OS, and a new IDE (Visual Studio 2013) ... And no idea what to do with'em. So I thought I'd toss together a small idiot project while I was getting used to the new trinity (eek!).

And while looking for ideas it occurred that the new calculator that comes with Windows 10 is just about the fugliest piece of software I've ever seen. The Metro flat UI is just flat-out cringe worthy, to the point that I don't even care what sort of fun/handy stuff it can do ... I just can't stand to look at ghastly the thing.

So I put together a very basic -(and probably equally hideous when I sober up)- calculator using C#/NET4, and every silly assed UI option I could find in VS13.

Calculator SS.jpg

Download should be below...assuming I got it attached properly.
« Last Edit: September 06, 2015, 10:16 PM by Stoic Joker »

Ath

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 3,363
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #1 on: September 06, 2015, 04:38 AM »
You might want to add a hex/dec/oct conversion option to attract the tech-savvy crowd here, but it looks refreshingly different in the awfully white Win10 world :Thmbsup:

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,614
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #2 on: September 06, 2015, 06:18 AM »
New computer, new OS, and a new IDE (Visual Studio 2013) ... And no idea what to do with'em. So I thought I'd toss together a small idiot project while I was getting used to the new trinity (eek!).

And while looking for ideas it occurred that the new calculator that comes with Windows 10 is just about the fugliest piece of software I've ever seen. The Metro flat UI is just flat-out cringe worthy, to the point that I don't even care what sort of fun/handy stuff it can do ... I just can't stand to look at ghastly the thing.

So I put together a very basic -(and probably equally hideous when I sober up)- calculator using C#/NET4, and every silly assed UI option I could find in VS13.
...

Since I have no frame of reference, being on a creaking XP box, I dunno the original source of pain, but it wouldn't surprise me that they're starting to get lazy on the little things!

I'd say do a few more things and then it's ... New Content ... for DC 2.0!
- Add a bit of a UI wrapper around the edges, maybe a quarter inch, with rounded corners, so that it doesn't quite feel like it "drops off a cliff" at the edges.
- Add theming, give users a choice of some five colors for the middle instead of Maroon-something you have now.
- It doesn't seem to be number pad aware yet. That's huge - Except my phone the only time I'd use a calc prog is with the number pad.

And then off it goes! Stoic Joker Approved! Implicit MS Bashing!

:Thmbsup:

Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #3 on: September 06, 2015, 08:11 AM »
You might want to add a hex/dec/oct conversion option to attract the tech-savvy crowd here, but it looks refreshingly different in the awfully white Win10 world :Thmbsup:

Thanks, I was going for something style wise that was just a tad Steampunk. The problem with conversions, is that if I add one that may be handy it opens the door to more and more and more. And I really just wanted to keep this as simple as possible. This is why there isn't a square root button...because I've never in my life found a need for getting the square root of anything...so it was dropped in favor of other things I have found need for (frequently) in the past.

It is however an adventure in creating something finger friendly, which is why it's spread out farther than any of the other programs I've done in the past.


- Add a bit of a UI wrapper around the edges, maybe a quarter inch, with rounded corners, so that it doesn't quite feel like it "drops off a cliff" at the edges.

I see what you're driving at, but I have no idea how to do that. I can try...but no promises.

- Add theming, give users a choice of some five colors for the middle instead of Maroon-something you have now.

Maroon?? Zoiks! ...It's supposed to be a brownish wood tone. I wonder what the rest of the world sees it as..


- It doesn't seem to be number pad aware yet. That's huge - Except my phone the only time I'd use a calc prog is with the number pad.

Same here, and the number pad should work (it does here). Is there no response from anything, or is it just certain keys that don't seem to behave?

Deozaan

  • Charter Member
  • Joined in 2006
  • ***
  • Points: 1
  • Posts: 8,813
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #4 on: September 06, 2015, 01:01 PM »
Since I have no frame of reference, being on a creaking XP box, I dunno the original source of pain, but it wouldn't surprise me that they're starting to get lazy on the little things!

Here is an image of two modes of the Windows 10 calculator:

Win10 Calculator.pngBasic Calculator

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,476
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #5 on: September 06, 2015, 01:05 PM »
I wonder what the rest of the world sees it as..

here it's brownish wood tone - as intended. But you're always going to get a lot of variation, depending on the screen.
Tom

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,614
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #6 on: September 06, 2015, 02:19 PM »
You might want to add a hex/dec/oct conversion option to attract the tech-savvy crowd here, but it looks refreshingly different in the awfully white Win10 world :Thmbsup:

Thanks, I was going for something style wise that was just a tad Steampunk. The problem with conversions, is that if I add one that may be handy it opens the door to more and more and more. And I really just wanted to keep this as simple as possible. This is why there isn't a square root button...because I've never in my life found a need for getting the square root of anything...so it was dropped in favor of other things I have found need for (frequently) in the past.

It is however an adventure in creating something finger friendly, which is why it's spread out farther than any of the other programs I've done in the past.


- Add a bit of a UI wrapper around the edges, maybe a quarter inch, with rounded corners, so that it doesn't quite feel like it "drops off a cliff" at the edges.

I see what you're driving at, but I have no idea how to do that. I can try...but no promises.

- Add theming, give users a choice of some five colors for the middle instead of Maroon-something you have now.

Maroon?? Zoiks! ...It's supposed to be a brownish wood tone. I wonder what the rest of the world sees it as..


- It doesn't seem to be number pad aware yet. That's huge - Except my phone the only time I'd use a calc prog is with the number pad.

Same here, and the number pad should work (it does here). Is there no response from anything, or is it just certain keys that don't seem to behave?

Sorry, it's def on the "ish" side of "brownish", I smashed out my comment and wasn't really thinking "how can I give useful feedback to this dev?" : )

But it is mutiplexed color theme, and that's what threw me off - it's an "ish" of "something".

Enough of that.

I get zero number pad events of any kind. I have no idea what that means. I'm starting to get used to weird bugs where it goes:
A. Give Skwire increased pulse rate because something that should work on my comp doesn't
B. Spread to other victims than Skwire - could be S-Joker here.
C. Ruin everyone's lives on general board posts when for ex I can't see any topic notification icons or changes of any kind (prob because of an obscure interaction of like 5 subtle things I did four years ago.)
D. Insert Madness into people's test results until they announce "anyone but Phoeni and his haunted system that runs anything except our stuff!"
E. General madness ensues and the President has to intervene.


Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #7 on: September 06, 2015, 02:40 PM »
I get zero number pad events of any kind. I have no idea what that means.

That's really bizarre, as it's the first thing I did ... Make sure the number pad, delete, backspace, and escape keys did what they were supposed to do for usability. I don't think I've ever used the top row of keys to type numbers unless I was stuck on a laptop.

Tomos seems to have the same ("wood grain") brown-ish-ness that I do, although he didn't mention if the number pad worked for him. All I can do at this point is wait-see who else (if anyone) chimes in on how this thing behaves for them to decide if it needs whacked with a hammer or something.

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,614
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #8 on: September 06, 2015, 02:53 PM »
See, it works now.
For no reason.

Maybe because I rebooted for something else.

Condition/Add Phoeni's bug reports with entire dispensers of salt!

It's like "well, he got there, so it can happen, but are the rest of you okay before we throw him rope to pull him out?"

 ;D

Then again I've hand-nuked (badly) about seven virii on this system using 1998 tricks, so gawd only knows how it's even running. (The newest is TaobaoProtect that I think showed up with the Chinese Firefox. I ate all four of the folders it wants to install into and put null dead files with the same names into about three of them.)

« Last Edit: September 06, 2015, 02:59 PM by TaoPhoenix »

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,476
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #9 on: September 06, 2015, 02:57 PM »
Tomos seems to have the same ("wood grain") brown-ish-ness that I do, although he didn't mention if the number pad worked for him.
I was only looking at the screenshot above :-[ but the real thing looks the same
I had it already downloaded - but hadnt gotten round to actually trying it yet
but now I've given it a quick run:

Re numberpad etc -
the first time I tried it, no keyboard input worked - but once I added a few digits via mouse, and clicked CE a couple of times, then keyboard input was fine, including the numberpad.
On restarting it, keyboard input was immediately fine.

Oh yeah,
the buttons look different here to your screenshot..

Screenshot - 2015-09-06 , 21_47_41.pngBasic Calculator

PS the plus / minus / etc. keys aren't working here (should they be working?)
Tom

x16wda

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 757
  • what am I doing in this handbasket?
    • View Profile
    • Read more about this member.
    • Donate to Member
Re: Basic Calculator
« Reply #10 on: September 06, 2015, 02:59 PM »
I think you need to make the equal button the same size as the others, and since you'll have a blank space, let the user move the buttons around like the 15 puzzle...
vi vi vi - editor of the beast

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,614
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #11 on: September 06, 2015, 03:02 PM »
I think you need to make the equal button the same size as the others, and since you'll have a blank space, let the user move the buttons around like the 15 puzzle...

I almost wanna go for themes, because depending on the field you're in, you want one huge button. In some fields of Accounting, it's Add. I hear rumors in Insurance it's Multiply.


Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #12 on: September 06, 2015, 10:27 PM »
Oh yeah,the buttons look different here to your screenshot..

EEK! That looks like hell :D I wondered how long it would take for tile to bite me in the ass. Are you running a nonstandard DPI by chance? I reset the property to stretch, and uploaded a new copy.

I'm not having any luck getting the number pad plus/minus/etc. to fail.

tomos

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 11,476
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #13 on: September 07, 2015, 10:06 AM »
Are you running a nonstandard DPI by chance?

that's probalby it - type is @ 125%
New version looks as it should :up:


I'm not having any luck getting the number pad plus/minus/etc. to fail.

me neither any more - this one worked straight out of the box
(win 7 x64)
Tom

Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #14 on: September 07, 2015, 03:15 PM »
Quote from: TaoPhoenix on September 06, 2015, 07:18:09 AM- Add a bit of a UI wrapper around the edges, maybe a quarter inch, with rounded corners, so that it doesn't quite feel like it "drops off a cliff" at the edges.I see what you're driving at, but I have no idea how to do that. I can try...but no promises.

I spent most of the day playing with this, and I'll be damned if I can figure out any way of doing it that doesn't look like shit. With WPF, yes ... but I really don't like the idea of fighting with XAML the whole way. I'm trying to stick with - the at least half-assed familiar - C#/Windows Forms Application project type.

I've bounced between code samples, Photoshop, and VS13 all day...and everything I do ends up with jagged edges.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 10,215
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #15 on: September 07, 2015, 07:02 PM »
Easiest way... change your thinking.

Use a standard window frame.  Reserve a few pixels on the edges.  Color that the dominant color in your image.  Lay the image on top.  Ta da!

Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #16 on: September 08, 2015, 12:58 PM »
Easiest way... change your thinking.

Good lord man, I'm far too old for that! :D


Use a standard window frame.  Reserve a few pixels on the edges.  Color that the dominant color in your image.  Lay the image on top.  Ta da!

But seriously, I get what you're saying...(I think)... but that would solve the wrong issue. Because the standard window frame will still have square corners. Tao was suggesting I take a stab at doing something with round corners...and/or a more irregular shape.

And this is how I got in a fight with the jagged edges monster. With WPF I can just use a transparent PNG, toss it on the app window and all is dandy. But with a Windows Forms application (which I'm actually using), there isn't a provision for making the transparent color the already transparent part. It insists on having a particular color to ignore, and as soon as I do that I get jagged edges, leftover remnants of the trans color, or both ... making the aesthetic rather poo.

Here's a SS of the two options, Bottom is using WPF and XAML (EEK! The horror), and the top is (ugly) using the Windows Forms App mostly transparent-ish-ness..

Edges Booboo.jpg

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 10,215
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #17 on: September 08, 2015, 03:00 PM »
Oh!  I thought you were trying to make it so the edges don't drop off.  For rounded windows, it's a lot easier (and harder).

First, set the following properties in the XAML:

Code: C# [Select]
  1. WindowStyle="None"
  2. AllowsTransparency="True"
  3. Background="Transparent"

Then add a border around your content.  The default is <grid></grid>.  Add around that <border></border>.  Then set the CornerRadius and the Padding.  Note that the corner radius and padding are for all sides if you set them to one number.  Otherwise, it uses the non intuitive Left, Top, Right, Bottom format, i.e. CornerRadius="8,8,8,8" is the same as CornerRadius="8".  Also, don't forget to set the FocusVisualStyle="{x:Null}" so that when the actual border is set to focused, it doesn't show the whole window as the focus rectangle.

Example from one of my projects that shows a dialog with an area for the X replacement and the buttons:

Code: C# [Select]
  1. <base:NextGenesView x:Class="Modules.Shell.ViewsAndViewModels.MessageOverlay.MessageOverlayView"
  2.              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5.              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6.              xmlns:aero="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
  7.              mc:Ignorable="d"
  8.              Focusable="True" FocusVisualStyle="{x:Null}">
  9.  
  10.     <base:NextGenesView.Resources>
  11.         <Style TargetType="{x:Type Button}">
  12.             <Setter Property="BorderBrush" Value="Gray" />
  13.             <Setter Property="BorderThickness" Value="2" />
  14.             <Setter Property="Width" Value="44" />
  15.             <Setter Property="FontWeight" Value="DemiBold" />
  16.             <Setter Property="Cursor" Value="Hand" />
  17.         </Style>
  18.  
  19.         <Style x:Key="NoChromeButton" TargetType="{x:Type Button}">
  20.             <Setter Property="Background" Value="Transparent"/>
  21.             <Setter Property="BorderThickness" Value="1"/>
  22.             <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
  23.             <Setter Property="HorizontalContentAlignment" Value="Center"/>
  24.             <Setter Property="VerticalContentAlignment" Value="Center"/>
  25.             <Setter Property="Padding" Value="1"/>
  26.             <Setter Property="Template">
  27.                 <Setter.Value>
  28.                     <ControlTemplate TargetType="{x:Type Button}">
  29.                         <Grid x:Name="Chrome" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
  30.                             <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
  31.                         </Grid>
  32.                         <ControlTemplate.Triggers>
  33.                             <Trigger Property="IsEnabled" Value="false">
  34.                                 <Setter Property="Foreground" Value="#ADADAD"/>
  35.                                 <Setter Property="Opacity" TargetName="Chrome" Value="0.5"/>
  36.                             </Trigger>
  37.                         </ControlTemplate.Triggers>
  38.                     </ControlTemplate>
  39.                 </Setter.Value>
  40.             </Setter>
  41.         </Style>
  42.  
  43.         <Style x:Key="MessageIcon" TargetType="{x:Type Image}">
  44.             <Style.Triggers>
  45.                 <DataTrigger Binding="{Binding Icon}" Value="None">
  46.                     <Setter Property="Visibility" Value="Collapsed" />
  47.                 </DataTrigger>
  48.                 <DataTrigger Binding="{Binding Icon}" Value="Asterisk">
  49.                     <Setter Property="Source" Value="..\ButtonIcons\Asterisk.png" />
  50.                 </DataTrigger>
  51.                 <DataTrigger Binding="{Binding Icon}" Value="Error">
  52.                     <Setter Property="Source" Value="..\ButtonIcons\Error.png" />
  53.                 </DataTrigger>
  54.                 <DataTrigger Binding="{Binding Icon}" Value="Exclamation">
  55.                     <Setter Property="Source" Value="..\ButtonIcons\Exclamation.png" />
  56.                 </DataTrigger>
  57.                 <DataTrigger Binding="{Binding Icon}" Value="Hand">
  58.                     <Setter Property="Source" Value="..\ButtonIcons\Hand.png" />
  59.                 </DataTrigger>
  60.                 <DataTrigger Binding="{Binding Icon}" Value="Information">
  61.                     <Setter Property="Source" Value="..\ButtonIcons\Information.png" />
  62.                 </DataTrigger>
  63.                 <DataTrigger Binding="{Binding Icon}" Value="Question">
  64.                     <Setter Property="Source" Value="..\ButtonIcons\Question.png" />
  65.                 </DataTrigger>
  66.                 <DataTrigger Binding="{Binding Icon}" Value="Stop">
  67.                     <Setter Property="Source" Value="..\ButtonIcons\Hand.png" />
  68.                 </DataTrigger>
  69.                 <DataTrigger Binding="{Binding Icon}" Value="Warning">
  70.                     <Setter Property="Source" Value="..\ButtonIcons\Exclamation.png" />
  71.                 </DataTrigger>
  72.                 <DataTrigger Binding="{Binding Icon}" Value="MrSmith">
  73.                     <Setter Property="Source" Value="..\ButtonIcons\MrSmith.png" />
  74.                 </DataTrigger>
  75.             </Style.Triggers>
  76.         </Style>
  77.     </base:NextGenesView.Resources>
  78.  
  79.     <base:NextGenesView.InputBindings>
  80.         <KeyBinding Command="{Binding DefaultGoCommand}" Key="Enter" />
  81.         <KeyBinding Command="{Binding DefaultNoGoCommand}" Key="Escape" />
  82.     </base:NextGenesView.InputBindings>
  83.  
  84.         <aero:SystemDropShadowChrome CornerRadius="20,5,20,5" HorizontalAlignment="Center" VerticalAlignment="Center">
  85.             <Border Margin="6,6,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" BorderBrush="Black" BorderThickness="2,2,2,2" CornerRadius="20,5,20,5" Background="Wheat">
  86.                 <Grid FocusManager.FocusedElement="{Binding ElementName=CloseX}" Focusable="True">
  87.                     <Grid.ColumnDefinitions>
  88.                         <ColumnDefinition></ColumnDefinition>
  89.                         <ColumnDefinition></ColumnDefinition>
  90.                     </Grid.ColumnDefinitions>
  91.                     <Image Grid.Column="0" VerticalAlignment="Top"  Margin="12,6,0,0"  Height="48" Width="48" Style="{StaticResource MessageIcon}"></Image>
  92.                     <DockPanel Grid.Column="1" Margin="15,0,5,0"  HorizontalAlignment="Center" VerticalAlignment="Center">
  93.                         <DockPanel DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0,0,0,10">
  94.                             <Button Command="{Binding Path=DefaultNoGoCommand}" Style="{StaticResource NoChromeButton}" DockPanel.Dock="Right" Height="18" Width="18">
  95.                                 <Image Name="CloseX" HorizontalAlignment="Center" VerticalAlignment="Center"
  96.                                    Height="16" Width="16" Source="..\ButtonIcons\close.png" Focusable="True" Cursor="Hand">
  97.                                 </Image>
  98.                             </Button>
  99.                             <Label DockPanel.Dock="Left" FontWeight="SemiBold" FontSize="16" Content="{Binding Caption}"/>
  100.                         </DockPanel>
  101.                         <StackPanel HorizontalAlignment="Right" DockPanel.Dock="Bottom" Orientation="Horizontal" Height="26" Margin="0,10,15,10">
  102.                             <Button Margin="5,0,0,0" Command="{Binding Path=YesCommand}" Content="_Yes" Visibility="{Binding YesButtonVisibility}"></Button>
  103.                             <Button Margin="5,0,0,0" Command="{Binding Path=NoCommand}" Content="_No" Visibility="{Binding NoButtonVisibility}"></Button>
  104.                             <Button Margin="5,0,0,0" Command="{Binding Path=OkCommand}" Content="OK" Visibility="{Binding OkButtonVisibility}"></Button>
  105.                             <Button Margin="5,0,0,0" Command="{Binding Path=CancelCommand}" Content="Cancel" Visibility="{Binding CancelButtonVisibility}"></Button>
  106.                         </StackPanel>
  107.                     <ScrollViewer MaxHeight="400" MaxWidth="425" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
  108.                         <TextBox TextWrapping="Wrap" Text="{Binding MessageText}" Background="Wheat" BorderThickness="0" IsReadOnly="True">                            
  109.                         </TextBox>
  110.                     </ScrollViewer>
  111.                 </DockPanel>
  112.                 </Grid>
  113.             </Border>
  114.         </aero:SystemDropShadowChrome>
  115.  
  116. </base:NextGenesView>

Note: I redacted some stuff in there, so it will need some adjustments if you try to use that code.

Other examples:
http://www.ayobamiad...egular-window-in-WPF
https://csharplesson...unded-corner-window/

If you're trying to alias an image for the page... well, the image itself needs to be made for that.  And you have to use an opacity mask.

But I see now, you're using Windows Forms.  Sorry... You're on your own at that point.  :P

Stoic Joker

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 6,516
    • View Profile
    • Donate to Member
Re: Basic Calculator
« Reply #18 on: September 08, 2015, 05:39 PM »
But I see now, you're using Windows Forms.  Sorry... You're on your own at that point. 


LOL ... Thanks for trying. :)