Add NOV Button control in MonoMac project at runtime
To get started and host NOV in your Mac OS X (MonoMac) application, take a look at:
Getting Started with NOV in MonoMac project
The following code shows how to add a NOV Button Widget (control) in your MonoMac project at runtime and raise the button click event, showing a message
in NOV Message Box:
using
System;
using
Nevron.Nov.Mac;
using
Nevron.Nov.UI;
using
Nevron.Nov;
using
Nevron.Nov.Dom;
using
Nevron.Nov.Layout;
#if UNIFIEDAPI
using
Foundation;
using
AppKit;
#else
using
MonoMac.Foundation;
using
MonoMac.AppKit;
#endif
namespace
MonoMacApplication1
{
public
partial
class
MainWindow : NSWindow
{
#region Constructors
// Called when created from unmanaged code
public
MainWindow(IntPtr handle)
:
base
(handle)
{
Initialize();
}
// Called when created directly from a XIB file
[Export(
"initWithCoder:"
)]
public
MainWindow(NSCoder coder)
:
base
(coder)
{
Initialize();
}
// Shared initialization code
void
Initialize()
{
//NUISettings.EnableMultiThreadedPainting = false;
//NUISettings.EnablePaintCache = false;
NApplication.ApplyTheme(
new
NMacElCapitanTheme());
// place the host inside the mac window
// create the host
NStackPanel stack =
new
NStackPanel();
stack.Margins =
new
Nevron.Nov.Graphics.NMargins(5);
stack.HorizontalPlacement = ENHorizontalPlacement.Left;
stack.VerticalPlacement = ENVerticalPlacement.Top;
stack.HorizontalSpacing = 5;
stack.VerticalSpacing = 5;
// add text only push button
NButton textOnlyButton =
new
NButton(
"Text only button"
);
textOnlyButton.Click +=
new
Function<NEventArgs>(OnButtonClicked);
stack.Add(textOnlyButton);
this
.ContentView =
new
NNovWidgetHost(stack);
}
private
void
OnButtonClicked(NEventArgs arg1)
{
NMessageBox.Show(
"textOnlyButton.Click was raised."
,
"NOV Message Box"
);
}
#endregion
}
}
Run the application - it should display a simple Mac window with a "Text only button" button inside. When you click the button, the click event will be raised and will display a message inside a NOV Message Box.
For more information about the NOV Button and Message Box UI controls, take a look at the Help Documentation:
User Interface > Widgets > Buttons > Buttons Overview
User Interface > Dialogs > Message Box
Article ID: 249, Created On: 8/12/2016, Modified: 8/12/2016