statusdropdownlist.cs

来自「本系统是在asp版《在线文件管理器》的基础上设计制作」· CS 代码 · 共 84 行

CS
84
字号
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Web.UI.WebControls;using CommunityServer.Components;using CommunityServer.Discussions.Components;namespace CommunityServer.Discussions.Controls {
    
    public class StatusDropDownList: DropDownList {
        
        int threadID = 0;

        public StatusDropDownList () {
        }
        
        protected override void CreateChildControls () {
            base.CreateChildControls ();
                        
            // Create list items
            Items.Clear();
            Items.Add(new ListItem(ResourceManager.GetString("Status_NotSet"), ((int) ThreadStatus.NotSet).ToString()));
            Items.Add(new ListItem(ResourceManager.GetString("Status_Answered"), ((int) ThreadStatus.Answered).ToString()));
            Items.Add(new ListItem(ResourceManager.GetString("Status_NotAnswered"), ((int) ThreadStatus.NotAnswered).ToString()));

            base.ChildControlsCreated = true;
        }

        #region Render
        protected override void Render (System.Web.UI.HtmlTextWriter writer) {                        
            // Is thread status enabled?            
            bool enabledThreadStatus = CSContext.Current.SiteSettings.EnableThreadStatus;
            if (!enabledThreadStatus)
                return;
            
            if (!this.Visible)
                return;
            
            base.Render (writer);
        }
        #endregion
        
        #region Properties
        public new ThreadStatus SelectedValue {
            get {
                this.EnsureChildControls();
                return (ThreadStatus) Convert.ToInt32( base.SelectedValue );
            }
            set {
                this.EnsureChildControls();
                base.SelectedValue = ((int) value).ToString();
            }
        }

        public int ThreadID {
            get { return threadID; }
            set { threadID = value; }
        }
        #endregion

        #region StatusChanged event
        public event ThreadStatusEventHandler StatusChanged;

        protected void OnStatusChanged (ThreadStatusEventArgs e) {
            if (StatusChanged != null)
                StatusChanged( this, e);
        }
        #endregion
        
        #region OnSelectedIndexChanged
        protected override void OnSelectedIndexChanged (EventArgs e) {
            base.OnSelectedIndexChanged (e);

            OnStatusChanged( new ThreadStatusEventArgs( this.ThreadID, this.SelectedValue ) );
        }
        #endregion
    }    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?