# ExpressCraft **Repository Path**: dragonpig/ExpressCraft ## Basic Information - **Project Name**: ExpressCraft - **Description**: ExpressCraft (For Bridge.Net) - Create a Windows Application using ExpressCraft UI and Bridge for the Browser. Handles Modal and Non-Modal Forms - When using Dialogues you can assign call-backs based on the Dialogue Result. - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ExpressCraft [](https://www.nuget.org/packages/ExpressCraft) [](http://bridge.net/) Demo Rep: https://github.com/samuelGrahame/ExpressCraftDemo # How to create a Form ```csharp Form.Setup(); // This is no longer needed with version 0.0.2 - nuget package var x = new Form(); x.Text = "Hello World"; x.Show(); ``` # How to use SplitterContainerControl ```csharp var splitContainerControl = new SplitControlContainer(); splitContainerControl.SplitterPosition = 150; splitContainerControl.SetBoundsFull(); this.LinkchildToForm(splitContainerControl); this.AppendChild(splitContainerControl); ``` # How to use TabControl ```csharp tabControl1 = new TabControl(); tabControl1.ShowClosedButton = true; // Show the Close on the Tab tabControl1.SetBoundsFull(); tabControl1.AddPages(new TabControlPage() { Caption = "Tab1" }, new TabControlPage() { Caption = "Tab2" }); this.AppendChild(tabControl1); ``` # How to use Google Cloud Print ```csharp GoogleCloudPrint.Setup(); var x = new GoogleCloudPrint("www.google.com", "title", GoogleCloudPrintingMimeType.Url); x.Show(); ``` # How to use DataTable Class ```csharp var dataTable = new DataTable(); dataTable.AddColumn("FieldName", DataType.String); // Update direcly to datatable dataTable.BeginDataUpdate(); dataTable.AddRow("Value"); dataTable.EndDataUpdate(); // Batch adding dataTable.BeginNewRow(1000); // It calls BeginDataUpdate... for(int i = 0; i < 1000; i++) { var x = dataTable.NewRow(); x[0] = i.ToString(); } dataTable.AcceptNewRows(); // It calls EndDataUpdate... ``` # How to use the GridView with the DataTable ```csharp // Requirements - dataTable filled with data, Inside a Form class. var gridView = new GridView(true, true); gridView.SetBoundsFull(); // Dock the gridView Full gridView.DataSource = dataTable; this.LinkchildToForm(gridView); // required to manage resize events. this.Body.AppendChild(gridView); // add the control to the working form ``` # How to access the HTML Element for Control Clases ```csharp var x = new Control(); HTMLElement element = x.Content; var y = new Form(); HTMLElement body = y.Body; HTMLElement baseContent = y.Content; ``` # How to use the Color Class ```csharp var color = Color.Blue; color = Color.FromKnownColor(KnownColor.Brown); color = Color.FromArgb(100, Color.Black); color = Color.FromArgb(10, 10, 10); Document.Body.Style.BackgroundColor = color; // The color implicitly is casted to string using a Hex value. ``` # How to use the GridLookupEdit ```csharp var gridLookupEdit = new GridLookupEdit() { DisplayName = "RowContent", FieldName = "RowId" }; gridLookupEdit.Width = 150; gridLookupEdit.gridView.DataSource = GetTestData(); public static DataTable GetTestData() { var dt = new DataTable(); dt.AddColumn("RowId", DataType.Long); dt.AddColumn("RowContent", DataType.String); dt.BeginDataUpdate(); for(int i = 0; i < 1000; i++) { dt.AddRow(i, "Content_Value" + i.ToString()); } dt.EndDataUpdate(); return dt; } ``` # How to choose your Console ```csharp public enum ApplicationDefitnion { BrowserConsole, BridgeConsole, ExpressCraftConsole } Application.SetApplicationDefinition(ApplicationDefitnion.BrowserConsole); Application.SetApplicationDefinition(ApplicationDefitnion.BridgeConsole); Application.SetApplicationDefinition(ApplicationDefitnion.ExpressCraftConsole); if(Application.AplicationDefition == ApplicationDefitnion.ExpressCraftConsole) // Do Something ``` # Application Settings ```csharp Settings.NetworkURL = "Host.ashx"; // Default Network asp.net ashx page Settings.ResourceURL = "./images/"; // Resource Directory Settings.AutoRender = true; // Auto render when added to parent. appendChild(x); Settings.DefaultFont = "8.25pt Tahoma"; Settings.GridViewAutoColumnGenerateFormatAsDate = false; Settings.GridViewBlurOnScroll = false; Settings.GridViewRowScrollPadding = 0; Settings.GridViewScrollDelayed = false; Settings.GridViewScrollDelayMS = 25; Settings.ContextMenuStartingZIndex = 500; Settings.ContextMenuMinWidth = 200; Settings.MessageFormTextMaximumHeightInPx = 500; Settings.MessageFormTextMinimumHeightInPx = 32; Settings.MessageFormMinimumWidthInPx = 195; Settings.MessageFormBeep = false; // Beep when a message box shows Settings.MaximumPixelScrollingRows = 500000; Settings.WindowManagerVisible = false; // Show Window Manager Settings.AllowCloseWithoutQuestion = false; // Disable Question to close browser tab/page Settings.ShowExceptionDialog = true; // Show the Exception Dialog Settings.FormFadeDuration = 100; // Fade Duration when closing a Form Settings.ConsoleDefaultSize = new Vector2(540, 240); // Size of the Console Form Settings.OnF2ShowThemeForm = true; // Show the Theme Form on F2 Settings.ToolTipPopupDelayMs = 1000; Settings.ToolTipPopupStayOpenDelayPerWordMs = 250; ``` # Stand Alone Form Instance's ```csharp new Form().Show(null, true); // The form does not follow the modal system. // in a seperate List