DataJuggler.Win.Controls
8.1.6
dotnet add package DataJuggler.Win.Controls --version 8.1.6
NuGet\Install-Package DataJuggler.Win.Controls -Version 8.1.6
<PackageReference Include="DataJuggler.Win.Controls" Version="8.1.6" />
paket add DataJuggler.Win.Controls --version 8.1.6
#r "nuget: DataJuggler.Win.Controls, 8.1.6"
// Install DataJuggler.Win.Controls as a Cake Addin #addin nuget:?package=DataJuggler.Win.Controls&version=8.1.6 // Install DataJuggler.Win.Controls as a Cake Tool #tool nuget:?package=DataJuggler.Win.Controls&version=8.1.6
News
8.14.2024: I added a new ProgressBar control. This ProgressBar, unlike the Windows Forms ProgressBar, allows you to set a ForeColor that works.
7.24.2023: UltimateHelper was updated.
3.17.2024: Happy St. Paddy's Day - Fixed a bug in the Timer Display that seemed to come from .NET 8 and wasn't there in .NET 7
11.20.2023: DataJuggler.UltimateHelper was updated.
11.15.2023: This project has been updated to .NET8.
9.24.2023: The TabHostControl now has a ButtonLabelColor property must be passed in to the AddTabButton method.
8.13.2023: DataJuggler.UltimateHelper was updated.
DataJuggler.Win.Controls
DataJuggler.Win.Controls is a collection of C# WinForms user controls that make it simple to build user interfaces.
List of Classes
Button
This button is an image button with a few themes.
LabelCheckBoxControl
The LabelCheckBoxControl consists of a Label and a Checkbox. Set the LabelText, LabelColor and LabelWidth properties to control its appearnce.
LabelComboBoxControl
The LabelComboBoxControl consists of a Label and a ComboBox. Set the LabelText, LabelColor and LabelWidth properties to control its appearnce. The LoadItems method can load a list of objects or an enumeration can be loaded.
LabelLabelControl
The LabelLabelControl consists of a Label and a value Label. Both labels can be customized.
LabelTextBoxBrowserControl
The LabelTextBoxBrowserControl consists of a Label, a TextBox and a button. Switch the BrowseType to File, Folder or Custom.
LabelTextBoxControl
The LabelTextBoxControl consists of a Label and a TextBox. You can customize the appearance of the Label and TextBox.
ListEditorControl
The ListEditorControl is used to edit a list of objects. This control uses interfaces to create methods for Add, Edit and Delete.
SaveCancelControl
This control contains a Save button and a Cancel button.
TabButton
Divide the interface up into Tabs, and use this button to change tabs.
TabHostControl
9.25.2023: I made a short video on how to setup and use the TabHostControl
C# How to use the Tab Control of DataJuggler Win Controls https://youtu.be/WFQcAlYt2F4
Instructions for use
Add NuGet package DataJuggler.Win.Controls to your project, and using statements to your form for:
using DataJuggler.Win.Controls;
using DataJuggler.Win.Controls.Interfaces;
Next, have your form implement ITabHostParent interface. To see a working example, visit this project:
Random USD (a work in progress, but the TabHostControl works). https://github.com/DataJuggler/RandomUSD
After you add the interface for ITabHostParent to your project, right click and select 'Implement Interface', and two events will be added to your project. Make sure to add your buttons in reverse order, as the way Dock.Left works your buttons will display last first.
private void TabHostControl_Load(object sender, EventArgs e)
{
// Setup the TabHostControl
TabHostControl.AddTabButton(3, "Materials", 200, Color.Black, false);
TabHostControl.AddTabButton(2, "Props", 200, Color.Black, false);
TabHostControl.AddTabButton(1, "Scenes", 200, Color.Black, true);
TabHostControl.TopMargin = 16;
TabHostControl.LeftMargin = 8;
// Setup the Parent
TabHostControl.TabHostParent = this;
}
public void TabSelected(TabButton selectedButton)
{
// If the selectedButton object exists
if (NullHelper.Exists(selectedButton))
{
switch (selectedButton.ButtonNumber)
{
case 1:
// setup for Scenes
UIVisibility(ScreenTypeEnum.Scenes);
// required
break;
case 2:
// setup for Props
UIVisibility(ScreenTypeEnum.Props);
// required
break;
case 3:
// setup for Materials
UIVisibility(ScreenTypeEnum.Materials);
// required
break;
}
}
}
TabImagesControl (Needs to be updated probably)
This control is used to host an enabled state image and a disabled state image.
TimerDisplay
The Timer Display is used to display time such as a count down timer.
TimerDisplayHost
Contains some controls to setup the TimerDisplay control.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-windows7.0 is compatible. |
-
net8.0-windows7.0
- DataJuggler.UltimateHelper (>= 8.1.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DataJuggler.Win.Controls:
Package | Downloads |
---|---|
DataJuggler.DBCompare
DB Compare compares two instances of a SQL Server database. This project has been on .Net Framework for about 10 or 12 years or more. DB Compare has been updated to .NET8.0, and should run faster. C# Developers - Now you can create a project in a manner of minutes and this way you can stay updated with the latest version. This product is also a standalone application. Using it as a Nuget package is just a nice way to always have the latest version. |
|
DataJuggler.Tutorials.PasswordVault
This project contains a demo form and control used for a tutorial video. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.1.6 | 104 | 9/3/2024 |
8.1.5 | 119 | 8/15/2024 |
8.1.4 | 107 | 8/14/2024 |
8.1.3 | 112 | 8/14/2024 |
8.1.2 | 118 | 8/14/2024 |
8.1.1 | 104 | 8/14/2024 |
8.1.0 | 112 | 8/14/2024 |
8.0.6 | 125 | 8/13/2024 |
8.0.5 | 77 | 7/24/2024 |
8.0.4 | 72 | 7/24/2024 |
8.0.3 | 132 | 3/17/2024 |
8.0.2 | 253 | 11/20/2023 |
8.0.1 | 140 | 11/20/2023 |
8.0.0 | 186 | 11/15/2023 |
7.2.1 | 177 | 9/26/2023 |
7.2.0 | 143 | 9/24/2023 |
7.1.8 | 191 | 8/14/2023 |
7.1.6 | 191 | 7/14/2023 |
7.1.5 | 164 | 7/14/2023 |
7.1.4 | 181 | 6/21/2023 |
7.1.3 | 177 | 6/21/2023 |
7.1.2 | 297 | 3/13/2023 |
7.1.1 | 287 | 2/24/2023 |
7.1.0 | 257 | 2/24/2023 |
7.0.1 | 487 | 11/9/2022 |
7.0.0 | 364 | 11/9/2022 |
7.0.0-rc1 | 225 | 10/19/2022 |
6.2.4 | 507 | 6/17/2022 |
6.2.3 | 459 | 6/16/2022 |
6.2.2 | 449 | 5/15/2022 |
6.2.1 | 440 | 5/15/2022 |
6.2.0 | 527 | 4/5/2022 |
6.1.4 | 498 | 1/24/2022 |
6.1.3 | 479 | 1/19/2022 |
6.1.2 | 336 | 1/4/2022 |
6.1.1 | 336 | 1/1/2022 |
6.1.0 | 315 | 12/30/2021 |
6.0.0 | 323 | 12/11/2021 |
5.8.10 | 386 | 11/7/2021 |
5.8.9 | 386 | 10/31/2021 |
5.8.8 | 387 | 9/15/2021 |
5.8.7 | 395 | 9/13/2021 |
5.8.5 | 440 | 9/10/2021 |
5.8.4 | 424 | 9/9/2021 |
5.8.3 | 400 | 9/5/2021 |
5.8.2 | 508 | 8/3/2021 |
5.8.1 | 440 | 8/3/2021 |
5.8.0 | 394 | 8/2/2021 |
5.7.16 | 418 | 8/2/2021 |
5.7.15 | 421 | 7/15/2021 |
5.7.14 | 399 | 7/15/2021 |
5.7.12 | 368 | 7/15/2021 |
5.7.11 | 387 | 7/15/2021 |
5.7.10 | 425 | 7/15/2021 |
5.7.9 | 405 | 6/7/2021 |
5.7.8 | 413 | 6/7/2021 |
5.7.7 | 413 | 6/7/2021 |
5.7.6 | 432 | 6/7/2021 |
5.7.5 | 415 | 6/7/2021 |
5.7.4 | 567 | 12/23/2020 |
5.7.3 | 466 | 11/29/2020 |
5.7.2 | 541 | 11/29/2020 |
5.7.1 | 601 | 11/29/2020 |
5.6.10 | 779 | 1/9/2020 |
5.6.9 | 758 | 10/2/2019 |
5.6.8 | 669 | 9/22/2019 |
5.6.7 | 636 | 9/22/2019 |
5.6.6 | 648 | 9/4/2019 |
5.6.5 | 636 | 9/2/2019 |
5.6.4 | 636 | 9/2/2019 |
5.6.2 | 665 | 9/2/2019 |
5.6.1 | 628 | 9/1/2019 |
5.6.0 | 633 | 8/31/2019 |
5.5.9 | 653 | 8/31/2019 |
5.5.8 | 671 | 8/31/2019 |
5.5.7 | 660 | 8/30/2019 |
5.5.6 | 661 | 8/30/2019 |
5.5.5 | 624 | 8/16/2019 |
5.5.4 | 654 | 8/11/2019 |
5.5.3 | 672 | 8/11/2019 |
5.5.2 | 1,100 | 8/3/2019 |
5.5.1 | 1,192 | 8/2/2019 |
5.5.0 | 661 | 8/2/2019 |
5.4.6 | 677 | 7/20/2019 |
5.4.5 | 709 | 6/5/2019 |
5.4.4 | 743 | 6/2/2019 |
5.4.2 | 732 | 6/2/2019 |
5.4.1 | 725 | 5/27/2019 |
1.4.3 | 1,784 | 1/23/2015 |
1.4.2 | 1,383 | 1/21/2015 |
1.4.1 | 1,366 | 1/13/2015 |
11.20.2023: DataJuggler.UltimateHelper was updated.
11.15.2023: This project has been updated to .NET8.
9.24.2023: I broke the TabHostControl by adding a LabelForeColor must now be passed
in to the AddTabButton method. Also the TabButton now has a ButtonLabelColor.
8.13.2023: DataJuggler.UltimateHelper was updated.
Update 7.14.2023: Working on the TimerDisplayControl. Hoping to have it fixed.
Update 6.21.2023: I updated DataJuggler.UltimateHelper package.
Update 6.17.2022
Version 6.2.4: I updated DataJuggler.UltimateHelper plus SaveCancelControl button widths.
Update 5.14.2022
Version 6.2.2: Updated DataJuggler.UltimateHelper Nuget package.
Version 6.2.1: Made some consistency among start up Init methods for Label Size and Font defaults.
Update 4.5.2022: I built a new sample project called RemindMe, and I updated the ListEditor and SaveCancelControls.
Update 1.24.2022: I updated UltimateHelper, so I published a new release.
This release is now .NET6 only.
Update 12.31.2021:
6.1.0: No code changes, but I realized the file version was not updating.
Update 12.29:2021
Version 6.1.0: I added a new TimerDisplay control. Add the control to your form, call the Start and Stop methods
to control the timer display. I added a state for Pause, although Pause is not handled yet. Pause is a little more
complicated than Start and Stop when it comes to ElapsedTime. I would have to keep track of all the Start and Stops
so put off the Pause until I need it.
Update 12.11.2021: I updated this project to Net 6.0, use an older version for .Net 5.
Update 11.7.2021
Version 5.8.10: I updated DataJuggler.UltimateHelper Nuget package.
Update 10.31.2021
Version 5.8.9: DataJuggler.UltimateHelper had a new release.
Update 9.15.2021: I had a Button_MouseEnter and Button_MouseLeave event, but it was applied to the Inner
Button, not the Button user control.
Update 9.13.2021: Version 5.8.7: I fixed the Theme's a little.
Update 9.10.2021 B: I fixed a bug where the LabelCheckBoxControl is not Editable at start.
Update 9.10.2021: I updated I updated DataJuggler.UltimateHelper again, and Nuget behaves better if this stays updated.
Update 9.9.2021: I updated DataJuggler.UltimateHelper, so Nuget behaves better if this stays updated.
Update 9.5.2021
Version 5.8.3: I upgraded DataJuggler.UltimateHelper to 1.6.4. Having a 1.6 version and a 1.5x version caused a conflict of this package.
Update 8.2.2021 C: I updated DataJuggler.UltimateHelper, and this removed WordParser, so i bebuilt this library.
Update: 8.2.2021 B: After testing this for one second, I realized I needed an ITextLinesLoadedListener interface, so I added one. New video coming soon for this and documentation.
Update: 8.2.2021: I added a Windows Form called FileBrowserWithButtonForm, that contains a LabelTextBoxControl, and a button.
Update 6.15.2021 B: I fixed the FlatStyle. I had to add this.OnClick to the Button.InnerButton to make it fire (hopefully this works).
Update 6.15.2021: Set FlatStyle to Flat and still didn't work. Trying again.
Update 6.14.2021: I added a Button recently, but I didn't set the FlatStyle to Flat. Oops.
Update 6.7.2021: Version 5.7.9: I fixed the issue of the Background not changing for Theme Dark for the new Button. It was caused by Programmer Stupidity in the chair I sit in. The button seems to work now, I think.
Update 6.7.2021: Version 5.7.8: I changed Text to ButtonText so the property showed up in the property dialog. More testing is needed, so use the button at your own risk.
Update 6.7.2021: Version 5.7.7: I added a Text property to the Button control. More testing is needed, so use the button at your own risk.
Update 6.7.2021: Version 5.7.6: I added some events for FontChanged, EnabledChanged and updated Theme to change the Fonts. Now to start testing.
Update 6.7.2021: Version 5.7.5: I added a Button class that I am just now testing.
Update 11.29.2020: Version 5.7.3: I discovered that the project SDK has been updated so that WindowsDesktop is no longer needed, only Microsoft.NET.Sdk. If I don't take this out, projects gets updated when this
library is added.
Update 11.29.2020: Version 5.7.2 was released to include an update for DataJuggler.UltimateHelper.
Note: This library used to be either DataJuggler.Net.UltimateHelper or DataJuggler.Core.UltimateHelper, which have both been archived. All new work on this library will be in the .Net 5 version.
This app was just converted to .Net 5. Everything should work, famous last words.
This is the first release for .Net 5. Nothing has been tested yet for .Net 5, at all. Use at your own risk.
The code itself has worked for 10 or more years, but new platform, new ball game.