Cuestión : CONTRA C# 2008 DataGridViewButtonColumn enciende dos veces

Agregué un botón de las operaciones de búsqueda a mi datagridview agregando un datagridviewButtonCoulumn. que chasco el botón de las operaciones de búsqueda. la pantalla de las operaciones de búsqueda aparece, el acontecimiento doble del tecleo trae el valor detrás, la pantalla de las operaciones de búsqueda se supone para salir pero el problema que tengo es que la ventana de las operaciones de búsqueda enciende otra vez y traba la pantalla. ¿Qué está haciendo que la pantalla de las operaciones de búsqueda enciende otra vez? class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
>namespace notpretty PopulateJobLinkerRTE " del class= " del id= " codeSnippet796764 del
 0)
            {

                si (falta de información del == de ViewAgenciesByJobsForm)
                {
                    ViewAgenciesByJobsForm = nuevo frmLookupJob ();
                }
                
                {
                    si (== de ViewAgenciesByJobsForm.Created falso)
                    {
                        ViewAgenciesByJobsForm = nuevo frmLookupJob ();
                    }
                }

                ViewAgenciesByJobsForm.ShowDialog ();
                /* ViewAgenciesByJobsForm.Show (); 
                ViewAgenciesByJobsForm.Activate (); *
                dgvViewJobLinker [1, dgvViewJobLinker.CurrentCell.RowIndex]. Valor = ViewAgenciesByJobsForm.CellValue;

            }
        }
        }
    }
class= del

Respuesta : CONTRA C# 2008 DataGridViewButtonColumn enciende dos veces

Hola,
  es mejor práctica utilizar “usar” para crear, para demostrar y para destruir las formas modales. usted debe comprobar para si cambian al usuario algo y chascado aceptar el botón (que un botón fija DialogResult = DialogResult.OK) .if que él chasca el botón de la “cancelación” (que un botón fija DialogResult = DialogResult.Cancel), usted no debe hacer valor de la célula de la actualización. han atado la muestra.

ViewAgenciesByJobsForm.ShowDialog (éste)

fija la forma actual como forma del padre.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
si (&& del == 0 de e.ColumnIndex e.RowIndex > 0)
{
  el usar  (frmLookupJob ViewAgenciesByJobsForm =
                       ViewAgenciesByJobsForm = nuevo frmLookupJob ())
  {
     si == DialogResult.OK (de ViewAgenciesByJobsForm.ShowDialog (éste)))
         dgvViewJobLinker [1, dgvViewJobLinker.CurrentCell.RowIndex]. Valor                   = ViewAgenciesByJobsForm.CellValue;

   }
}


en frmLookupJob, algo como:

(1) acontecimiento del tecleo del btnOk:
    CellValue = “mi nuevo valor”
    DialogResult   =DialogResut.OK;

(2) acontecimiento del tecleo del btnCancel:
    DialogResult   =DialogResut.Cancel;
Otras soluciones  
 
programming4us programming4us