[Showing a C# code example]
In the Solution Explorer window right-click on the References folder, and select Add Reference... from the context menu. In the Add Reference dialog box, select the Browse tab and browse to Leadtools for .NET C:\LEADTOOLS 18\Bin\DotNet\Win32 folder and select the following DLLS:Click the OK button to add the above DLLs to the application.
[Showing a C# code example]Leadtools.dll Leadtools.Dicom.dll Leadtools.Dicom.AddIn.dll System.Windows.Forms
Click the OK button to add the above DLLs to the application.
Open the AddInOptions.cs file and add the following using statements:
using Leadtools.Dicom.AddIn;
using Leadtools.Dicom.AddIn.Interfaces;
using Systems.Windows.Forms;
Add IAddInOptions to the AddInOptions class derivation list. Your class should look like the following:
public class AddInOptions : IAddInOptions
{
}
The LEADTOOLS PACS Framework admin makes use of separate application domains to enable the loading of the same IAddOptions
for individual services. To enable this behavior the AddInOptions class needs to be derived from MarshalByRefObject and marked as Serializable.
After making these changes your class should now look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
}
Right-click on IAddInOptions and select "Implement Interface->Implement Interface" from the context menu. Your class should
now look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
#region IAddInOptions Members
public void Configure(System.Windows.Forms.IWin32Window Parent, Leadtools.Dicom.AddIn.Common.ServerSettings Settings, string ServerDirectory)
{
throw new Exception(The method or operation is not implemented.);
}
public AddInImage Image
{
get
{
throw new Exception(The method or operation is not implemented.);
}
}
public string Text
{
get
{
throw new Exception(The method or operation is not implemented.);
}
}
#endregion
}
Make the following changes to the AddInOptions class:
Display a message box in the Configure method.Assign the AddInImage property.Assign the text property.
After making these changes your class should look as follows:
[Serializable]
public class AddInOptions : MarshalByRefObject,IAddInOptions
{
#region IAddInOptions Members
public void Configure(System.Windows.Forms.IWin32Window Parent, Leadtools.Dicom.AddIn.Common.ServerSettings Settings, string ServerDirectory)
{
// For a production application you would call a user
// defined dialog box to configure the add-in options.
MessageBox.Show(Configure called);
}
public AddInImage Image
{
get
{
// The image has to be converted to AddInImage so that it is safe
// to cross appdomains. Png allows us to keep transparency
// intact.
using(System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
SampleOptions.Resource.OptionImage.ToBitmap().Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.Position = 0;
return new System.Drawing.Bitmap(ms);
}
}
}
public string Text
{
get
{
return Sample AddIn;
}
}
#endregion
}