我正在尝试向我的BitMap添加一个事件监听器.Tile扩展了gameProps,扩展了BitMap.我尝试使用addEventListener.那不起作用.但是Adobe文档说Bitmap有一个addEventListener对象.
package {
import flash.display.BitmapData;
import flash.events.*;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.geom.Point;
public class Tile extends gameProps {
public var tileNum:Number = 0;
public function Tile(tileNumber:Number):void
{
tileNum = tileNumber;
addEventListener(MouseEvent.MOUSE_OVER, respond);
}
public function respond(e:MouseEvent):void
{ trace("HELLO");
}
}
}
Run Code Online (Sandbox Code Playgroud) 在我的服务中,所有暴露方法都有:
try
{
// the method core is written here
}
catch(Exception ex)
{
Log.Append(ex);
}
Run Code Online (Sandbox Code Playgroud)
一遍又一遍地重复它是无聊和丑陋的.有什么办法可以避免吗?有没有更好的方法来保持服务正常工作,即使发生异常并继续向Log类发送异常详细信息?
首先,这似乎是一个很长的问题.我认为不是......代码只是我目前正在做的事情的概述.这感觉不对,所以我正在寻找建设性的批评和警告,以及我能做些什么的陷阱和建议.
我有一个包含业务对象的数据库.
我需要访问父对象的属性.
我需要通过业务对象维护某种状态.
如果你看一下这些类,我认为访问修饰符是不对的.我不认为它的结构很好.大多数关系都是用公共属性建模的.SubAccount.Account.User.ID < - 所有这些都是公开的..
是否有更好的方法来建立类之间的关系而不是这样,所以它不是那么"公开"?
这个问题的另一部分是关于资源:
如果我要创建一个返回List的User.GetUserList()函数,并且我有9000个用户,当我调用GetUsers方法时,它将生成9000个User对象,并且内部将生成9000个新的AccountCollection对象.我该怎么做才能使这个项目不那么资源匮乏?
请找到下面的代码并将其撕成碎片.
public class User {
public string ID {get;set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public string PhoneNo {get; set;}
public AccountCollection accounts {get; set;}
public User {
accounts = new AccountCollection(this);
}
public static List<Users> GetUsers() {
return Data.GetUsers();
}
}
public AccountCollection : IEnumerable<Account> {
private User user;
public AccountCollection(User user) {
this.user = user;
}
public IEnumerable<Account> GetEnumerator() {
return Data.GetAccounts(user);
} …Run Code Online (Sandbox Code Playgroud) 我有一个带有Datagridview的窗体,其中包含来自xml文件的数据.DGV的设置如下:日期,产品,价格
有10行数据.
我试图计算价格从一行到下一行的变化,并且很难找到解决方案.例如:
1/1/12, ABC, $2.00
1/1/12, ABC, $2.50
Net Change: .50
Run Code Online (Sandbox Code Playgroud)
在列中,我可以使用Table.Columns.Expression,但我不清楚如何将此计算减去先前与当前.
我想过迭代列,添加到一个新表并以这种方式计算,但似乎是一个低于标准的解决方案.一旦我得到更改ID,就像将其添加到Datagridview.
没有经过测试,但是这样的话:
if (dataGridView1.Rows.Count > 0)
{
specifier = "###,###.00";
double tier1Minus = 0;
double tier2Minus = 0;
for (int i = 0; i < dataGridView1.Rows.Count; ++i)
{
tier1Minus += Convert.ToDouble(dataGridView1.Rows[i].Cells["Price"].Value);
tier2Minus += Convert.ToDouble(dataGridView1.Rows[i+1].Cells["Price"].Value);
}
// then add to dataGridView1
}
Run Code Online (Sandbox Code Playgroud) 我试图用开始和结束渐变动态构造一条线.我想避免使用GradientBox,因为线条是动态的.我想做的就是让线开始变红,结束蓝色.这段代码不起作用:(
myLine = new Shape();
myLine.graphics.lineStyle(2);
myLine.graphics.lineGradientStyle(GradientType.LINEAR, [0x0000FF, 0xFF0000], [1, 1], [0, 255]);
myLine.graphics.moveTo(itemPoint[i].x, itemPoint[i].y); // Dynamic
myLine.graphics.lineTo(itemPoint[j].x, itemPoint[j].y); // Dynamic
addChild(myLine);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我在XP英文机器和XP日本机器上运行相同的UI代码.出于某种原因 - 这两台机器之间的行为是不同的:
在日语机器上,OnResize事件在InitializeComponent调用期间被触发(我认为是来自ResumeLayout函数).在英语机器上它没有.
我有一个OnResize的覆盖方法,它改变我定义的私有变量的值.由于组件未完全加载(Ctor仍在运行),这些变量为空,我得到一个异常.
我可以通过检查变量是否为null来修复代码,但我想了解为什么它首先被调用以及为什么它只在这台机器上发生.
在我通过网络搜索期间,我发现了其他人发布的相同问题,但没有解决方案(http://social.msdn.microsoft.com/Forums/en/winforms/thread/95aefae4-45d8-4ac5-a8f2- 6e2142dfb631).
**Public Sub ExecuteQuery(ByVal pQueryString As String, Optional ByVal pConn As Odbc.OdbcConnection = Nothing)
Dim Mycmd As New Odbc.OdbcCommand(pQueryString, MyConn)
Mycmd.ExecuteNonQuery()
Mycmd.Dispose()
End Sub**
Run Code Online (Sandbox Code Playgroud)
这里我使用Dispose(Mycmd.Dispose())清除对象.我可以在这里使用Nothing(Mycmd = Nothing?.哪个最好?
请帮助我先生,
通过
了Arul.
我有三个共同父母的课程.让我们说父母是动物,孩子是狗,猫和鹦鹉.
我有一个可观察的集合,其中包含用户正在使用的动物集合.收集包含所有相同类型的动物 - 用户只能与所有狗或所有猫或所有鹦鹉一起工作.
因此,我宣布ObservableCollection<Animal>的动物,并根据用户的选择我想物业动物的内容改变ObservableCollection<Dog>或ObservableCollection<Cat>或ObservableCollection<PArrot>.因此,如果用户目前与狗或猫一起工作并不重要,但他可以选择动物共有的所有动作.
但它不起作用.似乎我无法分配ObservableCollection<Cat>属性类型ObservableCollection<animal>.我认为它应该有用,因为动物是猫的超类型,所以我可以像往常一样将猫分配给动物变量.
为什么我不能这样做,我该如何解决这个问题呢?
我用C#Windows表单创建了一个类来表示我的数据库.它具有使用List <>的主/细节
带有培训(主)和TrainingDetails(详细信息)的员工配置文件的记录
现在,我如何将其显示为2 datagridview,每当我从第一个datagridview选择"Training"时,它将在第二个datagridview上显示详细信息.
每当用户从第一个datagridview中选择一个新项时,它就很容易改变第二个datagridview的数据源.但我想知道它是如何专业地完成的.
另外保存是一种痛苦,我想迭代数据流并保存它但它意味着我必须知道什么是更新,插入和删除的数据.
请帮我.我是新手.
我的应用程序必须在2D网格中显示数据.网格可以有多个行和列(10乘10或100乘44).并且网格必须显示列名和行名.
基本上我想要一些像Windows Form和WPF的DataGridView.
请提供帮助.谢谢.
c# ×4
.net ×2
actionscript ×2
datagridview ×2
flash ×2
android ×1
binding ×1
collections ×1
data-access ×1
datagrid ×1
gradient ×1
logging ×1
onresize ×1
refactoring ×1
vb.net ×1
winforms ×1