第一个问题:
    你可以把从数据库中读出数据并根据这些产生矩形框和文字的功能写在一个方法中比如说draw(),把这个函数放在onpaint事件中和你想让这个函数发生的事件中,把让填充色变色的放在单击事件中。第二个问题:当矩形框的填充颜色改变之后,在矩形框中的文字就被覆盖了,当然看不见了。