//protected override CreateParams CreateParams //{ // get // { // CreateParams cp = base.CreateParams; // cp.ExStyle |= 0x02000000; // return cp; // } //} private void TitleLabelClick(object sender, EventArgs e) { if (CloseLabel.Equals(sender)) { Close(); //SendDataTest(LANAllComputerIp.ComputerStatus.BREAK_LIEN); } else { if (MaxOrMinLabel.Equals(sender)) { if (WindowState.Equals(FormWindowState.Normal)) { WindowState = FormWindowState.Maximized; } else if (WindowState.Equals(FormWindowState.Maximized)) { WindowState = FormWindowState.Normal; } } else { WindowState = FormWindowState.Minimized; } } }
private void OnVisibilityChanged(bool visible) { this.ToTop(); Node.SetProcessUnhandledInput(visible); UpLabel.Iter(l => l.Active = visible && this.CanGoUp()); CloseLabel.Iter(l => l.Active = visible); if (!visible) { ItemsContainer.GetChildren() .OfType <Node>() .Filter(c => !EmptyLabel.Contains(c)) .Iter(ItemsContainer.FreeChild); } }
protected override void PostConstruct() { base.PostConstruct(); var disposed = Disposed.Where(identity); OnItemsChange .Do(items => Items = items) .TakeUntil(disposed) .Subscribe(HandleItemsChange, this); OnNavigate .Do(_ => UpLabel.Iter(l => l.Active = this.CanGoUp())) .Select(i => i.Bind(v => v.GetPath()).Reverse()) .Select(p => string.Join(" > ", p.Map(v => v.DisplayName))) .TakeUntil(disposed) .Subscribe(v => Breadcrumb.Iter(b => b.Text = v), this); UpLabel .Map(l => l.OnAction) .ToObservable() .Switch() .TakeUntil(disposed) .Subscribe(_ => this.GoUp()); CloseLabel .Map(l => l.OnAction) .ToObservable() .Switch() .TakeUntil(disposed) .Subscribe(_ => this.Hide()); Node.OnVisibilityChange() .StartWith(Visible) .TakeUntil(disposed) .Subscribe(OnVisibilityChanged, this); if (BackAction.IsSome) { Node.OnUnhandledInput() .Where(e => BackAction.Exists(v => e.IsActionPressed(v)) && this.CanGoUp()) .TakeUntil(disposed) .Do(_ => Node.GetTree().SetInputAsHandled()) .Subscribe(_ => this.GoUp(), this); } }