2010-05-25 83 views
2

我正在做一个tic tac脚趾游戏,我正在尝试添加一个组合框,它将根据此人现在选择的内容来改变应用程序背景,我有夏天,春天,秋天,冬天和图像都在bin/debug文件夹中我怎么才能使这个工作我不知道从哪里开始,教程有点混乱。你能帮我吗Combobox如何让选定的项目显示主题

+0

你需要哪些部分的帮助?更改图像,处理组合框SelectedIndexChanged事件,或其他? – 2010-05-25 15:15:22

+0

我可以找出我需要帮助的图像是组合框中我在组合框属性集合“夏天”“冬天”我如何使它做选择时的东西? – 2010-05-25 15:17:51

回答

0

这是不完全清楚你在问什么。假设你已经在你的bin \ Debug文件夹中获得了名称类似“spring.png”的位图文件,这应该可以工作:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     comboBox1.Items.AddRange(new string[] { "Spring", "Summer", "Fall", "Winter" }); 
     comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged; 
    } 

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { 
     string folder = Application.StartupPath; 
     string theme = (string)comboBox1.Items[comboBox1.SelectedIndex]; 
     string path = System.IO.Path.Combine(folder, theme + ".png"); 
     Image newImage = new Bitmap(path); 
     if (this.BackgroundImage != null) this.BackgroundImage.Dispose(); 
     this.BackgroundImage = newImage; 
    } 
} 
+0

作品非常感谢您的时间。 – 2010-05-25 15:28:59

0

有很多方法可以做到这一点。这可能是最简单的:

  1. 将您的主窗体的BackgroundImageLayout设置为Stretch
  2. 将4 PictureBox控件放置在您的表单上,并将它们的Visible属性设置为false。将它们命名为pbWinter,pbSpring等。通过浏览到每个季节的图像文件来设置每个属性的Image属性。
  3. 将您的表格添加为ComboBox。添加项目“冬天”,“春天”,“夏天”和“秋天”。
  4. 在组合框中的SelectedIndexChanged事件处理程序,以switch声明勾选的Text属性,使用如下代码设置相应的背面图像:

    this.BackgroundImage = pbWinter.Image; // etc. ...

更新:这里的如何做开关声明:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    switch (comboBox1.Text) 
    { 
     case "Winter": 
      this.BackgroundImage = pbWinter.Image; 
      break; 
     case "Spring": 
      this.BackgroundImage = pbSpring.Image; 
      break; 
     // etc... 
    } 
} 
+0

感谢您的帮助 – 2010-05-25 15:52:31