вот пример простого плагина, который добавляет кнопку в Toolbar окна номенклатуры.
При нажатии на кнопку создаётся и показывается форма "Коллекции компонентов".
Пример написан на C#
При нажатии на кнопку создаётся и показывается форма "Коллекции компонентов".
Пример написан на C#
| Код |
|---|
using System;
using Csdn.Vogbit.Base;
using Csdn.Vogbit.Data;
using Csdn.Vogbit.Forms;
using Csdn.Vogbit.Main;
using System.Windows.Forms;
namespace VogbitPluginExample
{
[Caption("PluginExample")]
[ID("{EB7B1DCC-0DDE-4eaf-B500-2D669DE4557C}")]
public class Example: PlugInBase
{
private const string CommandGuidString = "{67ED1590-AB70-46f7-94F9-58A462D333DB}";
private const string CategoryGuidString = "{B18D68B3-33B2-45eb-BBCA-424B30E65B48}";
protected override void Connect()
{
base.Connect();
ExtForms.EventHandler += ExtFormsEventHandler;
}
void ExtFormsEventHandler(object sender, ExtensibleFormsEventArgs e)
{
if (e.EventType == ExtensibleFormsEventType.NewForm)
{
if (e.PlugInForm.GetType() == typeof(NomenclatureGridForm))
{
var commandId = new Guid(CommandGuidString);
var categoryId = new Guid(CategoryGuidString);
var barManager = (IBarManager) e.PlugInForm;
var barCategory = barManager.BarCategories.Add(categoryId, "Пример");
var exampleButton = barManager.BarCommands.AddButtonCommand(commandId, barCategory, "Команда", false);
//exampleButton.IconGlyph =
exampleButton.Caption = "Пример кнопки";
exampleButton.ActionExecute += ExampleButtonActionExecute;
}
}
}
void ExampleButtonActionExecute(object sender, ActionExecuteEventArgs e)
{
if (((IPlugInDataForm)ExtForms.ActiveForm).CurrentItem != null)
{
//long nmkId = ((NomenclatureItem) ((IPlugInDataForm) ExtForms.ActiveForm).CurrentItem).ID;
long nmkId = ((IPlugInDataForm) ExtForms.ActiveForm).CurrentItem["ID"].AsLongInt;
var formParams = new PlugInFormParams();
formParams["OwnerID"].Value = nmkId;
var collectionsForm = ExtForms.GetNewForm(typeof (OwnedComponentCollectionsForm).ToString());
collectionsForm.TabText = "Пример формы";
collectionsForm.OpenForm(formParams);
collectionsForm.ShowFloatingForm(DockStyle.None);
}
}
}
} |


