比如一个窗体,编辑一条记录,一定要有两种状态的,一种是浏览状态,一种是编辑状态.在编辑状态上才能修改,然后保存,现在的问题是通过什么来判断当前处于哪种状态.
1.通过按钮的标题,比如按钮开始为"编辑",按下后就变成"保存",假如用户不小心,在编辑时未保存就想关闭窗体,我可以判断一个按钮的标题,如果是"保存",则说明还没有保存,要提示用户先保存再退出.
这种办法可能,但是总觉得不太好,毕竟用按钮的标题来判断有点不太规范.
2.建一个窗体级的变量,是逻辑型,表示是否为编辑状态.当用户按下"编辑"按钮时,这是令这个变量为true,表示处理编辑,还没保存,这种办法也行,可是还在一个问题,就是此时这个窗体级变量与按钮的标题是同时存在的.而且起到相同的作用.如何保证二者是一致的呢?
总觉得窗体级变量有点多余.还有就是:这二者是谁决定谁呢?[窗体级变量与按钮的标题]
1.通过按钮的标题,比如按钮开始为"编辑",按下后就变成"保存",假如用户不小心,在编辑时未保存就想关闭窗体,我可以判断一个按钮的标题,如果是"保存",则说明还没有保存,要提示用户先保存再退出.
这种办法可能,但是总觉得不太好,毕竟用按钮的标题来判断有点不太规范.
2.建一个窗体级的变量,是逻辑型,表示是否为编辑状态.当用户按下"编辑"按钮时,这是令这个变量为true,表示处理编辑,还没保存,这种办法也行,可是还在一个问题,就是此时这个窗体级变量与按钮的标题是同时存在的.而且起到相同的作用.如何保证二者是一致的呢?
总觉得窗体级变量有点多余.还有就是:这二者是谁决定谁呢?[窗体级变量与按钮的标题]
解决方案 »
- C++语言转为DELPHI语言 大家帮下忙.在线等
- 如何cxgrid开发转化为activex控件
- 求两日期差的天数
- 有谁知道Target,在DELPHI中如何使用?
- ADOConnection的KeepConnection属性是做什么用的?我希望详细点
- 请问XLSWrite控件中如何更改表格单元的背景色和字体
- 关于Tupdatesql的问题
- 低价出售p2p及时通讯源代码(delphi)
- 如何将access数据库导入和导出到.dbf文件
- 有没有类似MFC的<MFC深入浅出>一样讲vcl怎么对windows Api进行封装的书?
- AssignFile( MyFile, 'com1') 实现小票机串并口直接打印,怎样控制字体大小?
- 怎样在内存中直接生成一个Access表
---------------
实现一个思路有多种方式,从你家到你单位比如有1里路,走5分钟就到,你也可以先到南非再到单位.我告诉你,要找一条更近的路,你告诉我:这个有谈论的必要吗,想怎么走都行,
我无言了.
顺便说一下:如果不想探讨问题,别回垃圾贴,占用csdn的资源.
FMyFormStatus:TMyFormStatus;
procedure SetMyFormStatus(value:TMyFormStatus );
public
property MyFormStatus:TMyFormStatus read FMyFormStatus write SetMyFormStatus; end;
.... procedure TForm1.SetMyFormStatus(Value:TMyFormStatus);
begin
case Value of
mfsNormal:Button1.caption := 'Edit';
DBEdit1.readonly:=True;.......
mfsEdit:Button1.Caption := 'Save';
DBEdit1.readonly:=False;.......
end;
.....
end;
难道你不能用DataSet.State属性来判断?
if DataSet.State in [dsinsert,dsedit] then
DataSet.Post;
为什么你要用一个按钮呢,用两个按钮,编辑的时候把自己不可用和启用保存,保存之后反过来.
if DataSet.State in [dsinsert,dsedit] then
DataSet.Post;
为什么你要用一个按钮呢,用两个按钮,编辑的时候把自己不可用和启用保存,保存之后反过来.
-------------
要让用户知道当前的状态呀,比如编辑时,按钮变成"保存",这时用户就知道要进行保存操作.
浏览状态时按钮变成"编辑",告诉用户这时点下按钮就会进行编辑状态.
接着探讨...