winform 实现选择的城市名单

首先在地图上

 #region 选择城市
        /// <summary>
        /// 点击字母事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void item_Click(object sender, EventArgs e)
        {
            LinkLabel lbl = sender as LinkLabel;
            lbl.Font = new Font(new FontFamily("宋体"), 10, FontStyle.Bold);
            foreach (Control item in pan_CityTitle.Controls)
            {
                if (item is LinkLabel && item != lbl)
                    item.Font = new Font(new FontFamily("宋体"), 10, FontStyle.Regular);
            }
            flowLayoutPanel.Controls.Clear();
            CreatCheckCityControl(lbl.Tag != null ? lbl.Tag.ToString() : string.Empty);
        }

        /// <summary>
        /// 绘制城市控件
        /// </summary>
        private void CreatCheckCityControl(string lettey)
        {
            if (lettey == string.Empty)
            {
                List<FlyCity> list = dicList["RM"];
                CreatControl(list);
            }
            else
            {
                for (int i = 0; i < lettey.Length; i++)
                {
                    string temp = lettey.Substring(i, 1);
                    if (!dicList.Keys.Contains(temp))
                    {
                        continue;
                    }
                    List<FlyCity> list = dicList[temp];
                    CreatControl(list);
                }
            }
        }
        private void CreatControl(List<FlyCity> list)
        {
            foreach (FlyCity fly in list)
            {
                Button button = new Button()
                {
                    Text = fly.CityName,
                    Tag = fly,
                    Width = 76,
                    Height = 25,
                    ForeColor = Color.FromArgb(89, 89, 89),
                    FlatStyle = FlatStyle.Flat,
                };
                button.FlatAppearance.BorderColor = Color.White;
                button.Click += new EventHandler(button_Click);
                button.MouseHover += new EventHandler(button_MouseHover);
                button.MouseLeave += new EventHandler(button_MouseLeave);
                flowLayoutPanel.Controls.Add(button);
            }
        }
        /// <summary>
        /// 隐藏控件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void FlyReserveForm_MouseUp(object sender, MouseEventArgs e)
        {
            if (!pan_City.Capture)
            {
                this.pan_City.Visible = false;
            }
            if (!calendar.Capture)
            {
                this.calendar.Hide();
            }
        }
        /// <summary>
        /// 点击选择目的地
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnToCity_Click(object sender, EventArgs e)
        {
            sType = 1;
            pan_City.Visible = true;
            pan_City.Location = new Point(446, 100);
        }
        /// <summary>
        /// 点击选择出发城市
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void btnFromCity_Click(object sender, EventArgs e)
        {
            sType = 0;
            pan_City.Visible = true;
            pan_City.Location = new Point(133, 100);
        }
        /// <summary>
        /// 从xml获取城市列表
        /// </summary>
        private void LoadCityArray()
        {
            List<FlyCity> list = new List<FlyCity>();
            XmlHelper help = new XmlHelper(Environment.CurrentDirectory + "\\arrays.xml");
            DataSet ds = help.GetData("resources");
            foreach (DataRow item in ds.Tables[0].Rows)
            {
                FlyCity fly = new FlyCity();
                string city = item[0].ToString().Substring(0, item[0].ToString().IndexOf(","));
                string cityCode = item[0].ToString().Substring(item[0].ToString().IndexOf(",") + 1, item[0].ToString().Length - item[0].ToString().IndexOf(",") -1);
                fly.CityName = city;
                fly.CityCode = cityCode;
                list.Add(fly);
            }
            dicList = ChineseConvert.InsertDic(list);
        }

        void button_Click(object sender, EventArgs e)
        {
            if ((sender as Button).Tag == null)
                return;
            FlyCity fly = (sender as Button).Tag as FlyCity;
            if (sType == 0)
            {
                lblFromCity.Text = fly.CityName;
                lblFromCity.Tag = fly;
            }
            else
            {
                lblToCity.Text = fly.CityName;
                lblToCity.Tag = fly;
            }
            pan_City.Visible = false;
        }

        private void Pan_TitleClick()
        {
            foreach (Control item in pan_CityTitle.Controls)
            {
                if(item is LinkLabel)
                    item.Click += new EventHandler(item_Click);
            }
        }

        void button_MouseLeave(object sender, EventArgs e)
        {
            (sender as Button).BackColor = Color.White;
            (sender as Button).ForeColor = Color.FromArgb(89, 89, 89);
        }

        void button_MouseHover(object sender, EventArgs e)
        {
            (sender as Button).BackColor = Color.FromArgb(41, 100, 180);
            (sender as Button).ForeColor = Color.White;
        }
        #endregion

版权声明:本文博主原创文章。博客,未经同意不得转载。

时间: 2024-12-19 17:42:11

winform 实现选择的城市名单的相关文章

winform 实现选择城市列表

先上图 #region 选择城市 /// <summary> /// 点击字母事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void item_Click(object sender, EventArgs e) { LinkLabel lbl = sender as LinkLab

【.Net】在WinForm中选择本地文件

相信很多朋友在日常的编程中总会遇到各钟各样的问题,关于在WinForm中选择本地文件就是很多朋友们都认为很难的一个学习.net的难点, 在WebForm中提供了FileUpload控件来供我们选择本地文件,只要我们将该控件拖到页面上了,就已经有了选择本地文件的功能了.而在 WinForm中,并没有为我们提供集成该功能的控件,但为我们提供了OpenFileDialog类,我们可以利用该类来打开与选择本地文件. OpenFileDialog类,提供了提示用户打开文件的功能,它有如下属性和方法: 属性

WPF与Winform的选择

最近公司计划对ERP系统全面升级,现有的ERP是简单的bs架构系统打算改版成cs.平时如自己写一些工具,小应用都是用winform就足够.但是界面总是很难看,据了解WPF在这一方面会强一些.因为之前对WPF并不熟悉,先花了点时间了解一下,和Winform做了一下对比.以下大概的整理,未做详细整理. wpf是啥技术? DHTML就是WPF的直系亲属.WPF里的大量核心概念和结构,如属性引擎.事件模型等,都是继承自 DHTML,最大的一个不同是外观和控件逻辑的分离.WPF应用和DHTML应用(HTA

UIDatePicker和UIPickerView实现生日选择、城市选择

效果: 1.控制器代码: // // ViewController.m #import "ViewController.h" #import "Province.h" @interface ViewController ()<UITextFieldDelegate,UIPickerViewDelegate,UIPickerViewDataSource> @property (weak, nonatomic) IBOutlet UITextField *b

1.选择城市

项目介绍 应用截图 主要功能 写的一个APP总结一下 使用车联网api解析天气数据并展示在界面 定位 通知栏 桌面小部件 动态添加删除城市并显示在界面上方便查看 选择城市界面 首先我网上找了个城市json数据信息,然后自己做了个json数据存放在res的raw目录下 然后需要解析出来存放在数据库中,不用每次都去解析json CoolWeatherOpenHelper public class CoolWeatherOpenHelper extends SQLiteOpenHelper { /**

【代码笔记】先选择城市,然后,跳转Tabbar

一,效果图. 二,工程图. 三,代码. ChooseCityViewController.h #import <UIKit/UIKit.h> @interface ChooseCityViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> { NSMutableArray * dataArray; UITableView * mTableView; } @end ChooseCity

先选择城市,然后,跳转tabbar所在的页面.(仿安客居新房)

首页展示效果图: 点击单元格时候的效果图: 文件目录: ChooseCityViewController.h #import <UIKit/UIKit.h> @interface ChooseCityViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> { NSMutableArray * dataArray; UITableView * mTableView; } @end Ch

选择省份时,自动显示对应省份的城市

在很多网页中,都会有让用户选择城市的选项,那么,就需要我们用js来实现,当用户选择了省份,自动选择对应省份的城市. <head>   <title></title>   <meta http-equiv="content" content="text/html" charset="utf-8"/>   <script type="text/javascript">  

jquery下拉城市选择代码

非常好的下拉城市选择代码,可选择热门城市,按字母排序的城市选择,带搜索框样式. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>jQuery下拉框美化特效-素材吧</title> <meta http-equiv="X-UA-Compatible" content=&quo