本文整理汇总了C#中UW.ClassroomPresenter.Model.EventQueue.PropertyEventDispatcher.Dispatcher方法的典型用法代码示例。如果您正苦于以下问题:C# EventQueue.PropertyEventDispatcher.Dispatcher方法的具体用法?C# EventQueue.PropertyEventDispatcher.Dispatcher怎么用?C# EventQueue.PropertyEventDispatcher.Dispatcher使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UW.ClassroomPresenter.Model.EventQueue.PropertyEventDispatcher
的用法示例。
在下文中一共展示了EventQueue.PropertyEventDispatcher.Dispatcher方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ViewerForm
/// <summary>
/// This constructor is for the case where the app is started normally (not as a CXP capability).
/// </summary>
/// <param name="loader"></param>
/// <param name="model"></param>
public ViewerForm(DeckMarshalService loader, PresenterModel model) {
Trace.WriteLine("Start ViewerForm Ctor");
this.SuspendLayout();
this.m_EventQueue = new ControlEventQueue(this);
this.m_Model = model;
this.m_Marshal = loader;
UpdateTitle();
FontSetting();
this.Font = ViewerStateModel.FormFont;
this.Name = "ViewerForm";
//Retrieve the icon
System.Reflection.Assembly thisExe = System.Reflection.Assembly.GetExecutingAssembly();
Trace.WriteLine("Get Icon");
this.Icon = new Icon( thisExe.GetManifestResourceStream( "UW.ClassroomPresenter.Presenter.ico" ) );
this.StartPosition = FormStartPosition.Manual;
this.loadRegSettings();
this.MinimumSize = new Size(440, 330);
Menus.FileMenu.CloseFormDelegate cfd = new UW.ClassroomPresenter.Viewer.Menus.FileMenu.CloseFormDelegate(this.Close);
this.Menu = new Menus.ViewerMainMenu(this.m_EventQueue, this.m_Model, loader, cfd);
Trace.WriteLine("Create tool bars");
this.m_MainToolBars = new MainToolBars(this.m_Model, this.m_EventQueue);
//this.m_ClassroomBrowser = new AutoDisplayClassroomsBrowser(this.m_Model);
Trace.WriteLine("Make StartupForm");
this.m_StartupForm = new StartupForm(this.m_Model, this.m_EventQueue);
Trace.WriteLine("Make ViewerPresentationLayout");
this.m_PresentationLayout = new ViewerPresentationLayout(this.m_Model);
//this.m_ClassroomBrowser.Dock = DockStyle.Fill;
this.m_PresentationLayout.Dock = DockStyle.Fill;
this.Controls.Add(this.m_PresentationLayout);
// Hack: toggle the second monitor to make it scale correctly when using Surface Pro 3.
// Bounds need to be set after the ViewerPresentationLayout control is added,
// Otherwise DPI scaling appears to be done incorrectly. This issue so far
// appears to be unique to the Surface Pro 3.
using (Synchronizer.Lock(model.ViewerState.SyncRoot)) {
if (model.ViewerState.SecondMonitorEnabled) {
model.ViewerState.SecondMonitorEnabled = false;
model.ViewerState.SecondMonitorEnabled = true;
}
}
//this.Controls.Add(this.m_ClassroomBrowser);
this.m_StartupForm.Visible = false;
this.Controls.Add(this.m_MainToolBars.m_MainToolBar);
this.Controls.Add(this.m_MainToolBars.m_MainClassmateToolBar);
this.Controls.Add(this.m_MainToolBars.m_ExtraClassmateToolBar);
this.ResumeLayout(false);
Trace.WriteLine("Make KeyEventHandler");
this.KeyDown += new KeyEventHandler(this.OnKeyDown);
this.KeyPreview = true;
///add listeners for HumanName, Role, Stylus properties
role_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.ParticipantRoleChanged));
stylus_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.StylusChanged));
instructor_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.InstructorChanged));
this.m_Model.Participant.Changed["Role"].Add(role_listener_.Dispatcher);
this.m_Model.Changed["Stylus"].Add(stylus_listener_.Dispatcher);
this.m_Model.Network.Changed["Association"].Add(instructor_listener_.Dispatcher);
//Add listener for the version exchange warning pop-up
this.m_VersionExchangePopUpListener = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.PopUpWarningHandler));
this.m_Model.VersionExchange.Changed["PopUpWarningMessage"].Add(m_VersionExchangePopUpListener.Dispatcher);
Trace.WriteLine("Make EventDispatcher");
//Add listener for NetworkStatus
m_NetworkStatusListener = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.NetworkStatusChanged));
this.m_Model.Network.Changed["NetworkStatus"].Add(m_NetworkStatusListener.Dispatcher);
Trace.WriteLine("Make FullScreenAdapter");
this.m_FullScreenAdapter = new FullScreenAdapter(this.m_Model, this.m_PresentationLayout);
instructor_listener_.Dispatcher(this, null);
role_listener_.Dispatcher(this, null);
//.........这里部分代码省略.........
示例2: ViewerForm
/// <summary>
/// This constructor is used for launching as a CXP capability.
/// </summary>
public ViewerForm() {
Application.EnableVisualStyles();
//Application.DoEvents(); //Note: this seems to cause problems in the CXP Capability context.
#if DEBUG && LOGGING
LoggingService logger = new LoggingService();
#endif
PresenterModel model = new PresenterModel();
m_Loader = new DefaultDeckMarshalService();
this.SuspendLayout();
this.m_EventQueue = new ControlEventQueue(this);
this.m_Model = model;
this.m_Marshal = m_Loader;
UpdateTitle();
this.Name = "ViewerForm";
//Retrieve the icon
System.Reflection.Assembly thisExe = System.Reflection.Assembly.GetExecutingAssembly();
this.Icon = new Icon( thisExe.GetManifestResourceStream( "UW.ClassroomPresenter.Presenter.ico" ) );
// The form should fill 5/6 of the screen by default.
// FIXME: Load/Store previous window size from/in the registry.
this.Size = new Size(SystemInformation.WorkingArea.Size.Width * 5 / 6,
SystemInformation.WorkingArea.Size.Height * 5 / 6);
// the form should be no smaller than 1/2 it's original size
this.MinimumSize = new Size(this.Size.Width / 2, this.Size.Height / 2);
Menus.FileMenu.CloseFormDelegate cfd = new UW.ClassroomPresenter.Viewer.Menus.FileMenu.CloseFormDelegate(this.Close);
this.Menu = new Menus.ViewerMainMenu(this.m_EventQueue, this.m_Model, m_Loader, cfd);
this.m_MainToolBars = new MainToolBars(this.m_Model, this.m_EventQueue);
this.m_PresentationLayout = new ViewerPresentationLayout(this.m_Model);
//this.m_MainToolBar.Dock = DockStyle.Top;
this.m_PresentationLayout.Dock = DockStyle.Fill;
this.Controls.Add(this.m_PresentationLayout);
this.Controls.Add(this.m_MainToolBars.m_MainToolBar);
this.Controls.Add(this.m_MainToolBars.m_MainClassmateToolBar);
this.Controls.Add(this.m_MainToolBars.m_ExtraClassmateToolBar);
this.ResumeLayout(false);
this.KeyDown += new KeyEventHandler(this.OnKeyDown);
this.KeyPreview = true;
///add listeners for HumanName, Role, Stylus properties
role_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.ParticipantRoleChanged));
stylus_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.StylusChanged));
instructor_listener_ = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.InstructorChanged));
this.m_Model.Participant.Changed["Role"].Add(role_listener_.Dispatcher);
this.m_Model.Changed["Stylus"].Add(stylus_listener_.Dispatcher);
this.m_Model.Network.Changed["Association"].Add(instructor_listener_.Dispatcher);
//Add listener for the version exchange warning pop-up
this.m_VersionExchangePopUpListener = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.PopUpWarningHandler));
this.m_Model.VersionExchange.Changed["PopUpWarningMessage"].Add(m_VersionExchangePopUpListener.Dispatcher);
//Add listener for NetworkStatus
m_NetworkStatusListener = new EventQueue.PropertyEventDispatcher(this.m_EventQueue, new PropertyEventHandler(this.NetworkStatusChanged));
this.m_Model.Network.Changed["NetworkStatus"].Add(m_NetworkStatusListener.Dispatcher);
this.m_FullScreenAdapter = new FullScreenAdapter(this.m_Model, this.m_PresentationLayout);
instructor_listener_.Dispatcher(this, null);
role_listener_.Dispatcher(this, null);
stylus_listener_.Dispatcher(this, null);
this.FormClosing += this.SaveClose;
//Store local DPI settings which are used to make sure ink is scaled correctly.
using (Graphics g = this.CreateGraphics()) {
ViewerStateModel.SetLocalDpi(g.DpiX, g.DpiY);
}
m_ViewerState = new ViewerStateService(model.ViewerState);
m_Registry = new RegistryService(model.ViewerState);
#if DEBUG && LOGGING
logger.AttachToModel(model.ViewerState);
#endif
PrintingService printing = new PrintingService(model.ViewerState);
m_Undo = new WorkspaceUndoService(this.m_EventQueue, model);
m_Association = new NetworkAssociationService(this.m_EventQueue, model);
m_DeckMatcher = new DeckMatcherService(this.m_EventQueue, model);
}