访问组件 c#

Posted

技术标签:

【中文标题】访问组件 c#【英文标题】:Access components c# 【发布时间】:2013-03-29 23:45:17 【问题描述】:

我想知道为什么我可以从主类外部的组合框中访问文本。但我无法向其中添加项目。我的组合框的修饰符设置为公共

public class ImageManager : mainFrame // Where my components are located
 
    public ImageManager()
    

    

    public void getText()
    
       Console.WriteLine(comboBox.Text); //Will perfectly retrieve the text from it
    

    public void setItem()
    
       comboBox.Items.Add("Items"); //Does absolutely nothing and doesn't show error 
    

感谢您的帮助!

【问题讨论】:

如何查看组合框的内容? 在我的类 mainFrame 中,我设置了 comboBox.Text = "Test",然后当我从 ImageManager 中的任何位置调用 getText() 时,它在我的控制台中显示“Test” 如果您尝试使用 comboBox.Text 获取文本,您将获得组合框中显示的内容。如果未选择任何项目,则在选择项目之前您将一无所获 我知道,但为什么我不能因为 X 原因添加新闻项目,但我可以访问文本和其他功能? 【参考方案1】:

如果您的setItem() 填充了ComboboxItem 并添加了它而不仅仅是文本怎么办?

public void setItem() 

   ComboboxItem addMe = new ComboboxItem();
   addMe.Text = "your text here";
   addMe.Value = 1234; // make a relevant value
   comboBox.Item.Add(addMe);

【讨论】:

【参考方案2】:

我看到你成功了,太好了。但以防万一你还在摸不着头脑......

    private void Form1_Load(object sender, EventArgs e)
    
        ImageManager im = new ImageManager();
        im.Show();
        im.setItem();
    

ImageManager 继承自具有组合框的 Form2。似乎工作正常。组合框已填充。

【讨论】:

以上是关于访问组件 c#的主要内容,如果未能解决你的问题,请参考以下文章

C# 视频播放器组件,具有用于解密的流访问

在 C# 组件中访问鼠标点击

如何在 C# 中访问查找所有控件和所有组件到表单中?

如何在 C# 中访问查找所有控件和所有组件到表单中?

C#调用office组件访问拒绝的解决方法(failed due to the following error: 80070005 拒绝访问)

设计模式在实际业务应用中的介绍之1——抽象工厂模式实现对数据库访问组件的封装