private void TagDataGridView(DataGridView dataGridViewToTag, DataGridView parentDataGridView, DataGridView childDataGridView, Type codeElementType)
        {
            LinkedDatagrids     linkedDatagrids     = new LinkedDatagrids(parentDataGridView, childDataGridView);
            DataGridViewTagInfo dataGridViewTagInfo = new DataGridViewTagInfo(codeElementType, linkedDatagrids);

            dataGridViewToTag.Tag = dataGridViewTagInfo;
        }
        private void ListViewMouseDoubleClickEventManager(ListView senderListView)
        {
            if (senderListView.SelectedItems.Count > 0)
            {
                MetricProperties metricProperties;

                DataGridView        sourceDataGridView    = (DataGridView)senderListView.Tag;
                string              codeElementName       = sourceDataGridView.SelectedRows[0].Cells[0].Value.ToString();
                DataTable           metricsDataTable      = (DataTable)sourceDataGridView.DataSource;
                DataGridViewTagInfo dataGridViewTagInfo   = ((DataGridViewTagInfo)sourceDataGridView.Tag);
                DataGridView        assembliesDatagrid    = GetAssebliesDataGridView(sourceDataGridView);
                string              assemblyName          = assembliesDatagrid.SelectedRows[0].Cells[0].Value.ToString();
                string              parentCodeElementName = dataGridViewTagInfo.LinkedDataGrids.ParentDataGridView == null ?
                                                            ((IAssembly)codeElementsManager.CodeBase.Assemblies.WithName(assemblyName).First()).VisualStudioProjectFilePath.FileName :
                                                            dataGridViewTagInfo.LinkedDataGrids.ParentDataGridView.SelectedRows[0].Cells[0].Value.ToString();

                ListViewItem lvi = senderListView.SelectedItems[0];
                if (lvi.Tag.GetType() == typeof(NDependMetricDefinition))
                {
                    NDependMetricDefinition nDependMetricDefinition = (NDependMetricDefinition)lvi.Tag;
                    metricProperties = new MetricProperties(
                        nDependMetricDefinition,
                        codeElementName,
                        metricsDataTable,
                        parentCodeElementName,
                        assemblyName,
                        nDependProject);
                }
                else
                {
                    UserDefinedMetricDefinition userDefinedMetricDefinition = (UserDefinedMetricDefinition)lvi.Tag;
                    metricProperties = new MetricProperties(
                        userDefinedMetricDefinition,
                        codeElementName,
                        metricsDataTable,
                        parentCodeElementName,
                        assemblyName,
                        nDependProject);
                }

                metricProperties.Show();
            }
        }
 private void TagDataGridView(DataGridView dataGridViewToTag, DataGridView parentDataGridView, DataGridView childDataGridView, Type codeElementType)
 {
     LinkedDatagrids linkedDatagrids = new LinkedDatagrids(parentDataGridView, childDataGridView);
     DataGridViewTagInfo dataGridViewTagInfo = new DataGridViewTagInfo(codeElementType, linkedDatagrids);
     dataGridViewToTag.Tag = dataGridViewTagInfo;
 }