Behavior Control
Created
Updated
Index

User Defined Function Example

Control Thumbnail

How To Download and Use This Control

  1. Make sure you have the latest version of EZ-Builder installed.
  2. Select the Install button below to download the file.
  3. Double click the downloaded file to open installer.
  4. The installer will add this control to EZ-Builder.

Add custom EZ-Script functions in c# using this example.

Source code is available here: UserDefinedFunctionExample.zip

Additional tutorial information can be found here: http://www.ez-robot.com/Tutorials/UserTutorials/146/20

There is also example code below the video.



Code:


using System;
using System.Drawing;
using System.Windows.Forms;

namespace User_Defined_Function_Example {

public partial class FormMaster : EZ_Builder.UCForms.FormPluginMaster {

public FormMaster() {

InitializeComponent();
}

private void FormMaster_Load(object sender, EventArgs e) {

// Intercept all unknown functions called from any EZ-Script globally.
// If a function is called that doesn't exist in the EZ-Script library, this event will execute
ExpressionEvaluation.FunctionEval.AdditionalFunctionEvent += FunctionEval_AdditionalFunctionEvent;
}

private void FormMaster_FormClosing(object sender, FormClosingEventArgs e) {

// Disconnect from the function event
ExpressionEvaluation.FunctionEval.AdditionalFunctionEvent -= FunctionEval_AdditionalFunctionEvent;
}

///
/// This is executed when a function is specified in any ez-scripting that isn't a native function.
/// You can check to see if the function that was called is your function.
/// If it is, do something and return something.
/// If you don't return something, a default value of TRUE is returned.
/// If you throw an exception, the EZ-Script control will receive the exception and present the error to the user.
///
private void FunctionEval_AdditionalFunctionEvent(object sender, ExpressionEvaluation.AdditionalFunctionEventArgs e) {

// Check if the function is our function (SetColor)
if (!e.Name.Equals("setcolor", StringComparison.InvariantCultureIgnoreCase))
return;

// Check if the correct number of parameters were passed to this function
if (e.Parameters.Length != 3)
throw new Exception("Expects 3 parameters. Usage: SetColor(red [0-255], green [0-255], blue [0-255]). Example: SetColor(20, 200,100)");

// Convert the parameters to datatypes
byte red = Convert.ToByte(e.Parameters[0]);
byte green = Convert.ToByte(e.Parameters[1]);
byte blue = Convert.ToByte(e.Parameters[2]);

// Do something
EZ_Builder.Invokers.SetBackColor(label1, Color.FromArgb(red, green, blue));

// Return something. Good idea to return TRUE if your function isn't meant to return anything
e.ReturnValue = true;
}
}
}