Fråga : VS C# 2008 DataGridViewButtonColumn avfyrar två gånger

Jag tillfogade en referens knäppas till min datagridview, genom att tillfoga en datagridviewButtonCoulumn. som jag klickar referensen knäppas. referensen avskärmer syns, dubbletten klickar händelse kommer med värderabaksidaen, referensen avskärmer är förment att gå bort, men problemet som jag har, är att referensfönstret avfyrar igen och låser avskärma. Vad är danande referensen avskärmer avfyrar igen? > för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
" codeBody " " >namespace PopulateJobLinkerRTE för class= " för 0) { om (ogiltig ViewAgenciesByJobsForm ==) { ViewAgenciesByJobsForm = ny frmLookupJob (); } annars { om (falsk ViewAgenciesByJobsForm.Created-==) { ViewAgenciesByJobsForm = ny frmLookupJob (); } } ViewAgenciesByJobsForm.ShowDialog (); /* ViewAgenciesByJobsForm.Show (); ViewAgenciesByJobsForm.Activate (); * dgvViewJobLinker [1, dgvViewJobLinker.CurrentCell.RowIndex]. Värdera = ViewAgenciesByJobsForm.CellValue; } } } }
" klar "

Svar : VS C# 2008 DataGridViewButtonColumn avfyrar två gånger

Hi,
  den är bäst övar för att använda ”using” för att skapa, att visa, och att förstöra det modal bildar. du bör kontrollera för användare ändras huruvida något, och klickat acceptera knäppas (som uppsättningar DialogResult = DialogResult.OK för en knäppas) .if som han klickar ”annulleringen” knäppas (som uppsättningar DialogResult = DialogResult.Cancel för en knäppas), dig bör inte göra uppdateringcellen värderar. har fäst tar prov.

ViewAgenciesByJobsForm.ShowDialog (denna)

uppsättningströmmen bildar, som föräldern bildar.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
om (&& för e.ColumnIndex-== 0 e.RowIndex > 0)
{
  använda  (frmLookupJob ViewAgenciesByJobsForm =
                       ViewAgenciesByJobsForm = ny frmLookupJob ())
  {
     om, == DialogResult.OK (för ViewAgenciesByJobsForm.ShowDialog (denna)))
         dgvViewJobLinker [1, dgvViewJobLinker.CurrentCell.RowIndex]. Värdera                   = ViewAgenciesByJobsForm.CellValue;

   }
}


i frmLookupJob den ska något som var lik:

(1) btnOk klickar händelse:
    CellValue = ”mitt nytt värderar”,
    DialogResult   =DialogResut.OK;

btnCancel (för 2) klickar händelse:
    DialogResult   =DialogResut.Cancel;
Andra lösningar  
 
programming4us programming4us