⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toolbar.cs

📁 浏览器端看到树型目录结构,用户可以完整地看到像windows资源管理器一样的效果
💻 CS
📖 第 1 页 / 共 3 页
字号:
                resetBorderStyle = true;
            }

            if ((BorderColor == Color.Empty) && NotExistBorder("color"))
            {
                Style["border-top-color"] = "#FFFFFF";
                Style["border-left-color"] = "#FFFFFF";
                Style["border-bottom-color"] = "#999999";
                Style["border-right-color"] = "#999999";
                resetBorderColor = true;
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Border, "0");
            writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");

            string padding = Util.ExtractNumberString(GetStyle("padding"));
            if (padding == String.Empty)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "1");
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, padding);
            }

            AddAttributesToRender(writer);
            writer.RenderBeginTag(HtmlTextWriterTag.Table);
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            writer.AddAttribute(HtmlTextWriterAttribute.Valign, "top");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);

            if (DefaultStyle["border-width"] == null)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Border, "1");
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Border, DefaultStyle["border-width"]);
            }

            padding = Util.ExtractNumberString(DefaultStyle["padding"]);
            if (padding == String.Empty)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "1");
            }
            else
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, padding);
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0");
            writer.AddAttribute(HtmlTextWriterAttribute.Style, "border-width:0");

            FontInfo font = Font;

            string[] names = font.Names;
            if (names.Length > 0)
            {
                string fontNames = String.Empty;
                for (int i = 0; i < names.Length; i++)
                {
                    if (i > 0)
                    {
                        fontNames += ",";
                    }
                    fontNames += names[i];
                }
                writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, fontNames);
            }

            FontUnit fu = font.Size;
            if (!fu.IsEmpty)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, fu.ToString(CultureInfo.InvariantCulture));
            }

            if (font.Bold)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
            }
            if (font.Italic)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.FontStyle, "italic");
            }

            bool underline = font.Underline;
            bool overline = font.Overline;
            bool strikeout = font.Strikeout;
            string td = String.Empty;

            if (underline)
                td = "underline";
            if (overline)
                td += " overline";
            if (strikeout)
                td += " line-through";
            if (td.Length > 0)
                writer.AddStyleAttribute(HtmlTextWriterStyle.TextDecoration, td);

            writer.RenderBeginTag(HtmlTextWriterTag.Table);
            if (Orientation == Orientation.Horizontal)
            {
                writer.RenderBeginTag(HtmlTextWriterTag.Tr);
            }

            if (resetBorderWidth)
            {
                Style.Remove("border-width");
            }

            if (resetBorderStyle)
            {
                Style.Remove("border-style");
            }

            if (resetBorderColor)
            {
                Style.Remove("border-top-color");
                Style.Remove("border-left-color");
                Style.Remove("border-bottom-color");
                Style.Remove("border-right-color");
            }
        }

        /// <summary>
        /// Closes the downlevel table.
        /// </summary>
        /// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
        private void RenderEndTable(HtmlTextWriter writer)
        {
            if (Orientation == Orientation.Horizontal)
            {
                writer.RenderEndTag();      // TR
            }
            writer.RenderEndTag();      // TABLE

            writer.RenderEndTag();      // TD
            writer.RenderEndTag();      // TR
            writer.RenderEndTag();      // TABLE
        }

        /// <summary>
        /// Renders the control for a downlevel browser.
        /// </summary>
        /// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
        protected override void RenderDownLevelPath(HtmlTextWriter writer)
        {
            writer.WriteLine("<script language=\"javascript\">" + ClientHelperID + ".value='';</script>");

            RenderBeginTable(writer, false);
            base.RenderDownLevelPath(writer);
            RenderEndTable(writer);
        }

        /// <summary>
        /// Renders the control for a visual designer.
        /// </summary>
        /// <param name="writer">The HtmlTextWriter object that receives the control content.</param>
        protected override void RenderDesignerPath(HtmlTextWriter writer)
        {
            RenderBeginTable(writer, true);
            base.RenderDesignerPath(writer);
            RenderEndTable(writer);
        }

        /// <summary>
        /// Loads the control's previously saved view state.
        /// </summary>
        /// <param name="savedState">An object that contains the saved view state values for the control.</param>
        protected override void LoadViewState(object savedState)
        {
            if (savedState != null)
            {
                object[] state = (object[])savedState;

                base.LoadViewState(state[0]);
                ((IStateManager)Items).LoadViewState(state[1]);
                ((IStateManager)DefaultStyle).LoadViewState(state[2]);
                ((IStateManager)HoverStyle).LoadViewState(state[3]);
                ((IStateManager)SelectedStyle).LoadViewState(state[4]);
#if false
                // Databinding
                if (!_ClearChildViewState)
                {
                    ((IStateManager)Items).LoadViewState(state[4]);
                }
#endif
            }
        }

        /// <summary>
        /// Saves the changes to the control's view state to an Object.
        /// </summary>
        /// <returns>The object that contains the view state changes.</returns>
        protected override object SaveViewState()
        {
            object[] state = new object[]
            {
                base.SaveViewState(),
                ((IStateManager)Items).SaveViewState(),
                ((IStateManager)DefaultStyle).SaveViewState(),
                ((IStateManager)HoverStyle).SaveViewState(),
                ((IStateManager)SelectedStyle).SaveViewState(),
            };

            // Check to see if we're really saving anything
            foreach (object obj in state)
            {
                if (obj != null)
                {
                    return state;
                }
            }

            return null;
        }

        /// <summary>
        /// Instructs the control to track changes to its view state.
        /// </summary>
        protected override void TrackViewState()
        {
            base.TrackViewState();

            ((IStateManager)DefaultStyle).TrackViewState();
            ((IStateManager)HoverStyle).TrackViewState();
            ((IStateManager)SelectedStyle).TrackViewState();
            ((IStateManager)Items).TrackViewState();
        }

#if false
        // Databinding
        /// <summary>
        /// Creates a ToolbarItem.
        /// </summary>
        /// <param name="szType">The type to create.</param>
        /// <returns>A ToolbarItem.</returns>
        private ToolbarItem MakeToolbarItem(string szType)
        {
            if (szType == null)
            {
                szType = "button";
            }
            else
            {
                szType = szType.ToLower();
            }

            switch (szType)
            {
            case "button":
                return new ToolbarButton();

            case "checkbutton":
                return new ToolbarCheckButton();

            case "separator":
                return new ToolbarSeparator();

            case "dropdownlist":
                return new ToolbarDropDownList();

            case "textbox":
                return new ToolbarTextBox();

            case "label":
                return new ToolbarLabel();

            default:
                return null;
            }
        }

        /// <summary>
        /// Raises the DataBinding event. This notifies a control to perform any data binding logic that is associated with it.
        /// </summary>
        /// <param name="e">An EventArgs object that contains the event data.</param>
        protected override void OnDataBinding(EventArgs e)
        {
            base.OnDataBinding(e);

            if (_DataSource != null)
            {
                Items.Clear();
                _ClearChildViewState = true;

                string szCurGroup = String.Empty;
                ToolbarCheckGroup group = null;

                foreach (Object dataItem in _DataSource)
                {
                    String type = null;
                    String text = null;
                    String imageUrl = null;
                    String selected = null;
                    String groupname = null;

                    if (DataTypeField != String.Empty)
                        type = DataBinder.GetPropertyValue(dataItem, DataTypeField, null);
                    if (DataTextField != String.Empty)
                        text = DataBinder.GetPropertyValue(dataItem, DataTextField, null);
                    if (DataImageUrlField != String.Empty)
                        imageUrl = DataBinder.GetPropertyValue(dataItem, DataImageUrlField, null);
                    if (DataSelectedField != String.Empty)
                        selected = DataBinder.GetPropertyValue(dataItem, DataSelectedField, null);
                    if (DataGroupnameField != String.Empty)
                        groupname = DataBinder.GetPropertyValue(dataItem, DataGroupnameField, null);

                    ToolbarItem item = MakeToolbarItem(type);

                    if (item == null)
                        continue;

                    bool bEndPrevGroup = (group != null);
                    bool bMakeNewGroup = false;

                    if (item is ToolbarCheckButton)
                    {
                        bEndPrevGroup = 
                            (group != null) && 
                            ((groupname == null) || (groupname != szCurGroup));
                        bMakeNewGroup = ((groupname != null) && (groupname != szCurGroup));
                    }

                    if (bEndPrevGroup)
                    {
                        group = null;
                        szCurGroup = String.Empty;
                    }

                    if (bMakeNewGroup)
                    {
                        group = new ToolbarCheckGroup();
                        Items.Add(group);
                        szCurGroup = groupname;
                    }

                    if (group != null)
                    {
                        group.Items.Add((ToolbarCheckButton)item);
                    }
                    else
                    {
                        Items.Add(item);
                    }

                    if (item is ToolbarButton)
                    {
                        ToolbarButton btn = (ToolbarButton)item;
                        if (text != null)
                            btn.Text = text;
                        if (imageUrl != null)
                            btn.ImageUrl = imageUrl;
                    }

                    if (item is ToolbarLabel)
                    {
                        ToolbarLabel label = (ToolbarLabel)item;
                        if (text != null)
                            label.Text = text;
                        if (imageUrl != null)
                            label.ImageUrl = imageUrl;
                    }

                    if (item is ToolbarCheckButton)
                    {
                        ToolbarCheckButton btn = (ToolbarCheckButton)item;
                        if (selected != null)
                            btn.SetSelected(selected.ToLower() == "true");
                    }
                }
            }
        }
#endif
    }
}

⌨️ 快捷键说明

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